]> granicus.if.org Git - php/commitdiff
really don't blow up
authorWez Furlong <wez@php.net>
Thu, 23 Dec 2004 19:39:22 +0000 (19:39 +0000)
committerWez Furlong <wez@php.net>
Thu, 23 Dec 2004 19:39:22 +0000 (19:39 +0000)
ext/standard/streamsfuncs.c

index 20052146b57323433314ff50dbce546540cf907c..7ee44a0752bf94abd3858defcccc7135ca431ed4 100644 (file)
@@ -250,7 +250,7 @@ PHP_FUNCTION(stream_socket_accept)
 
        if (peername) {
                zval_dtor(peername);
-               ZVAL_STRING(peername, "", 0);
+               ZVAL_NULL(peername);
        }
 
        if (0 == php_stream_xport_accept(stream, &clistream,
@@ -260,6 +260,7 @@ PHP_FUNCTION(stream_socket_accept)
                                &tv, &errstr
                                TSRMLS_CC) && clistream) {
 
+               Z_TYPE_P(peername) = IS_STRING;
                php_stream_to_zval(clistream, return_value);
        } else {
                php_error_docref(NULL TSRMLS_CC, E_WARNING, "accept failed: %s", errstr ? errstr : "Unknown error");
@@ -270,10 +271,6 @@ PHP_FUNCTION(stream_socket_accept)
        if (errstr) {
                efree(errstr);
        }
-
-       if (peername && Z_STRVAL_P(peername) == NULL) {
-               ZVAL_STRING(peername, "", 1);
-       }
 }
 /* }}} */