Annotation of libwww/Library/src/HTNoFree.c, revision 2.1

2.1     ! frystyk     1: /*
        !             2: **     NO FREE STREAM
        !             3: **
        !             4: **     (c) COPYRIGHT MIT 1995.
        !             5: **     Please first read the full copyright statement in the file COPYRIGH.
        !             6: **     @(#) $Id: HTStream.c,v 2.4 1998/09/18 12:57:30 frystyk Exp $
        !             7: **
        !             8: **     This stream is a throughline for all methods except FREE and ABORT
        !             9: **
        !            10: */
        !            11: 
        !            12: /* Library include files */
        !            13: #include "wwwsys.h"
        !            14: #include "HTUtils.h"
        !            15: #include "HTStream.h"                                   /* Implemented here */
        !            16: 
        !            17: struct _HTStream {
        !            18:     const HTStreamClass *      isa;
        !            19:     HTStream *                 target;
        !            20: };
        !            21: 
        !            22: /* ------------------------------------------------------------------------- */
        !            23: 
        !            24: PRIVATE int HTNoFreeStream_put_character (HTStream * me, char c)
        !            25: {
        !            26:     return (*me->target->isa->put_character)(me->target, c);
        !            27: }
        !            28: 
        !            29: PRIVATE int HTNoFreeStream_put_string (HTStream * me, const char * s)
        !            30: {
        !            31:     return (*me->target->isa->put_string)(me->target, s);
        !            32: }
        !            33: 
        !            34: PRIVATE int HTNoFreeStream_write (HTStream * me, const char * s, int l)
        !            35: {
        !            36:     return (*me->target->isa->put_block)(me->target, s, l);
        !            37: }
        !            38: 
        !            39: PRIVATE int HTNoFreeStream_flush (HTStream * me)
        !            40: {
        !            41:     return (*me->target->isa->flush)(me->target);
        !            42: }
        !            43: 
        !            44: PRIVATE int HTNoFreeStream_free (HTStream * me)
        !            45: {
        !            46:     return HT_OK;
        !            47: }
        !            48: 
        !            49: PRIVATE int HTNoFreeStream_abort (HTStream * me, HTList * e)
        !            50: {
        !            51:     return HT_ERROR;
        !            52: }
        !            53: 
        !            54: PRIVATE const HTStreamClass HTNoFreeStreamClass =
        !            55: {              
        !            56:     "NoFreeStream",
        !            57:     HTNoFreeStream_flush,
        !            58:     HTNoFreeStream_free,
        !            59:     HTNoFreeStream_abort,
        !            60:     HTNoFreeStream_put_character,
        !            61:     HTNoFreeStream_put_string,
        !            62:     HTNoFreeStream_write
        !            63: }; 
        !            64: 
        !            65: PUBLIC HTStream * HTNoFreeStream_new (HTStream * target)
        !            66: {
        !            67:     if (target) {
        !            68:        HTStream * me;
        !            69:        if ((me = (HTStream  *) HT_CALLOC(1, sizeof(HTStream))) == NULL)
        !            70:            HT_OUTOFMEM("HTNoFree");
        !            71:        me->isa = &HTNoFreeStreamClass;
        !            72:        me->target = target;
        !            73:        return me;
        !            74:     }
        !            75:     return HTErrorStream();
        !            76: }
        !            77: 
        !            78: PUBLIC int HTNoFreeStream_delete (HTStream * me) 
        !            79: {
        !            80:     if (me) HT_FREE(me);
        !            81:     return HT_OK;
        !            82: }

Webmaster