📄 htnofree.c
字号:
/*** NO FREE STREAM**** (c) COPYRIGHT MIT 1995.** Please first read the full copyright statement in the file COPYRIGH.** @(#) $Id: HTNoFree.c,v 2.1 1999/02/01 18:41:11 frystyk Exp $**** This stream is a throughline for all methods except FREE and ABORT***//* Library include files */#include "wwwsys.h"#include "HTUtils.h"#include "HTStream.h" /* Implemented here */struct _HTStream { const HTStreamClass * isa; HTStream * target;};/* ------------------------------------------------------------------------- */PRIVATE int HTNoFreeStream_put_character (HTStream * me, char c){ return (*me->target->isa->put_character)(me->target, c);}PRIVATE int HTNoFreeStream_put_string (HTStream * me, const char * s){ return (*me->target->isa->put_string)(me->target, s);}PRIVATE int HTNoFreeStream_write (HTStream * me, const char * s, int l){ return (*me->target->isa->put_block)(me->target, s, l);}PRIVATE int HTNoFreeStream_flush (HTStream * me){ return (*me->target->isa->flush)(me->target);}PRIVATE int HTNoFreeStream_free (HTStream * me){ return HT_OK;}PRIVATE int HTNoFreeStream_abort (HTStream * me, HTList * e){ return HT_ERROR;}PRIVATE const HTStreamClass HTNoFreeStreamClass ={ "NoFreeStream", HTNoFreeStream_flush, HTNoFreeStream_free, HTNoFreeStream_abort, HTNoFreeStream_put_character, HTNoFreeStream_put_string, HTNoFreeStream_write}; PUBLIC HTStream * HTNoFreeStream_new (HTStream * target){ if (target) { HTStream * me; if ((me = (HTStream *) HT_CALLOC(1, sizeof(HTStream))) == NULL) HT_OUTOFMEM("HTNoFree"); me->isa = &HTNoFreeStreamClass; me->target = target; return me; } return HTErrorStream();}PUBLIC int HTNoFreeStream_delete (HTStream * me) { if (me) HT_FREE(me); return HT_OK;}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -