- fix overload guards leaks
[m6w6/ext-http] / http_deflatestream_object.c
index 4b9e582a64003496f4b262c229eeb7c20512f364..b535cf5aaca536575f421f7f45b486c643b78224 100644 (file)
@@ -71,6 +71,9 @@ PHP_MINIT_FUNCTION(http_deflatestream_object)
        DCL_CONST(long, "STRATEGY_HUFF", HTTP_DEFLATE_STRATEGY_HUFF);
        DCL_CONST(long, "STRATEGY_RLE", HTTP_DEFLATE_STRATEGY_RLE);
        DCL_CONST(long, "STRATEGY_FIXED", HTTP_DEFLATE_STRATEGY_FIXED);
+       DCL_CONST(long, "FLUSH_NONE", HTTP_ENCODING_STREAM_FLUSH_NONE);
+       DCL_CONST(long, "FLUSH_SYNC", HTTP_ENCODING_STREAM_FLUSH_SYNC);
+       DCL_CONST(long, "FLUSH_FULL", HTTP_ENCODING_STREAM_FLUSH_FULL);
 #endif
        
        return SUCCESS;
@@ -123,14 +126,10 @@ void _http_deflatestream_object_free(zend_object *object TSRMLS_DC)
 {
        http_deflatestream_object *o = (http_deflatestream_object *) object;
 
-       if (OBJ_PROP(o)) {
-               zend_hash_destroy(OBJ_PROP(o));
-               FREE_HASHTABLE(OBJ_PROP(o));
-       }
        if (o->stream) {
                http_encoding_deflate_stream_free(&o->stream);
        }
-       efree(o);
+       freeObject(o);
 }
 
 /* {{{ proto void HttpDeflateStream::__construct([int flags = 0])
@@ -148,7 +147,7 @@ PHP_METHOD(HttpDeflateStream, __construct)
                getObject(http_deflatestream_object, obj);
                
                if (!obj->stream) {
-                       obj->stream = http_encoding_deflate_stream_init(NULL, flags);
+                       obj->stream = http_encoding_deflate_stream_init(NULL, flags & 0x0fffffff);
                } else {
                        http_error_ex(HE_WARNING, HTTP_E_ENCODING, "HttpDeflateStream cannot be initialized twice");
                }