pike.git / src / modules / Gz / zlibmod.c

version» Context lines:

pike.git/src/modules/Gz/zlibmod.c:1:   /*\   ||| This file a part of Pike, and is copyright by Fredrik Hubinette   ||| Pike is distributed as GPL (General Public License)   ||| See the files COPYING and DISCLAIMER for more information.   \*/   #include "global.h" - RCSID("$Id: zlibmod.c,v 1.1 1997/02/11 08:34:52 hubbe Exp $"); + RCSID("$Id: zlibmod.c,v 1.2 1997/02/27 09:06:25 hubbe Exp $");      #include "zlib_machine.h"   #include "types.h"      #if !defined(HAVE_LIBZ) && !defined(HAVE_LIBGZ)   #undef HAVE_ZLIB_H   #endif      #ifdef HAVE_ZLIB_H   
pike.git/src/modules/Gz/zlibmod.c:38:   #define BUF 16384      #define THIS ((struct zipper *)(fp->current_storage))      static void gz_deflate_create(INT32 args)   {    int level=Z_DEFAULT_COMPRESSION;       if(THIS->gz.state)    { -  mt_lock(& this->lock); +  mt_lock(& THIS->lock);    deflateEnd(&THIS->gz); -  mt_unlock(& this->lock); +  mt_unlock(& THIS->lock);    }       if(args)    {    if(sp[-args].type != T_INT)    error("Bad argument 1 to gz->create()\n");    if(sp[-args].u.integer < Z_NO_COMPRESSION ||    sp[-args].u.integer > Z_BEST_COMPRESSION)    {    error("Compression level out of range for gz_deflate->create()\n");
pike.git/src/modules/Gz/zlibmod.c:199:   }      /*******************************************************************/         static void gz_inflate_create(INT32 args)   {    int tmp;    if(THIS->gz.state)    { -  mt_lock(this->lock); +  mt_lock(THIS->lock);    inflateEnd(&THIS->gz); -  mt_unlock(this->lock); +  mt_unlock(THIS->lock);    }          THIS->gz.zalloc=Z_NULL;    THIS->gz.zfree=Z_NULL;    THIS->gz.opaque=THIS;       pop_n_elems(args);    mt_lock(THIS->lock);    tmp=inflateInit(& THIS->gz);
pike.git/src/modules/Gz/zlibmod.c:237:    }   }      static int do_inflate(dynamic_buffer *buf,    struct zipper *this,    int flush)   {    int fail=0;       THREADS_ALLOW(); -  mt_lock(this->lock); +  mt_lock(& THIS->lock);    if(!this->gz.state)    {    fail=Z_STREAM_ERROR;    }else{    do    {    char *loc;    int ret;    loc=low_make_buf_space(BUF,buf);    this->gz.next_out=(Bytef *)loc;    this->gz.avail_out=BUF;    ret=inflate(& this->gz, flush);    low_make_buf_space(-this->gz.avail_out,buf);    if(ret != Z_OK)    {    fail=ret;    break;    }    } while(!this->gz.avail_out || flush==Z_FINISH || this->gz.avail_in);    } -  mt_unlock(this->lock); +  mt_unlock(& THIS->lock);    THREADS_DISALLOW();    return fail;   }      static void gz_inflate(INT32 args)   {    struct pike_string *data;    int fail;    struct zipper *this=THIS;    dynamic_buffer buf;
pike.git/src/modules/Gz/zlibmod.c:307:    push_string(low_free_buf(&buf));    if(fail != Z_STREAM_END && fail!=Z_OK && !sp[-1].u.string->len)    {    pop_stack();    push_int(0);    }   }      static void init_gz_inflate(struct object *o)   { -  mt_init(THIS->locked); +  mt_init(& THIS->locked);    MEMSET(& THIS->gz, 0, sizeof(THIS->gz));    THIS->gz.zalloc=Z_NULL;    THIS->gz.zfree=Z_NULL;    THIS->gz.opaque=0;    inflateInit(&THIS->gz);    inflateEnd(&THIS->gz);   }      static void exit_gz_inflate(struct object *o)   {