diff options
author | Ilia Alshanetsky <iliaa@php.net> | 2004-05-16 15:34:53 +0000 |
---|---|---|
committer | Ilia Alshanetsky <iliaa@php.net> | 2004-05-16 15:34:53 +0000 |
commit | bb88a86240b7dae6ce501ab474d07c2fcc7a49d9 (patch) | |
tree | d951148af93f6f2f7441e888b0c1ecce612db948 /ext/sockets | |
parent | ed5ce047db7005b3dfc051918f01ce7091ee92e3 (diff) | |
download | php-git-bb88a86240b7dae6ce501ab474d07c2fcc7a49d9.tar.gz |
Do not allocate error buffer at the start of every request.
Diffstat (limited to 'ext/sockets')
-rw-r--r-- | ext/sockets/sockets.c | 13 |
1 files changed, 7 insertions, 6 deletions
diff --git a/ext/sockets/sockets.c b/ext/sockets/sockets.c index 47d265a779..5a60bb386d 100644 --- a/ext/sockets/sockets.c +++ b/ext/sockets/sockets.c @@ -322,7 +322,7 @@ static char *php_strerror(int error TSRMLS_DC) buf = hstrerror(error); #else { - sprintf(SOCKETS_G(strerror_buf), "Host lookup error %d", error); + spprintf(&(SOCKETS_G(strerror_buf), "Host lookup error %d", error); buf = SOCKETS_G(strerror_buf); } #endif @@ -336,7 +336,7 @@ static char *php_strerror(int error TSRMLS_DC) if (FormatMessage(FORMAT_MESSAGE_ALLOCATE_BUFFER | FORMAT_MESSAGE_FROM_SYSTEM | FORMAT_MESSAGE_IGNORE_INSERTS, NULL, error, MAKELANGID(LANG_NEUTRAL, SUBLANG_DEFAULT), (LPTSTR) &tmp, 0, NULL)) { - strlcpy(SOCKETS_G(strerror_buf), (char *) tmp, 10000); + SOCKETS_G(strerror_buf) = estrndup(tmp); LocalFree(tmp); buf = SOCKETS_G(strerror_buf); @@ -503,8 +503,6 @@ PHP_MINFO_FUNCTION(sockets) /* {{{ PHP_RINIT_FUNCTION */ PHP_RINIT_FUNCTION(sockets) { - SOCKETS_G(strerror_buf) = emalloc(16384); - return SUCCESS; } /* }}} */ @@ -512,8 +510,11 @@ PHP_RINIT_FUNCTION(sockets) /* {{{ PHP_RSHUTDOWN_FUNCTION */ PHP_RSHUTDOWN_FUNCTION(sockets) { - efree(SOCKETS_G(strerror_buf)); - + if (SOCKETS_G(strerror_buf)) { + efree(SOCKETS_G(strerror_buf)); + SOCKETS_G(strerror_buf) = NULL; + } + return SUCCESS; } /* }}} */ |