]> granicus.if.org Git - php/commitdiff
Move & improve PHP_SOCKET_ERROR def
authorGustavo Lopes <glopes@nebm.ist.utl.pt>
Fri, 1 Feb 2013 13:39:56 +0000 (14:39 +0100)
committerGustavo Lopes <glopes@nebm.ist.utl.pt>
Sat, 2 Feb 2013 14:29:11 +0000 (15:29 +0100)
ext/sockets/php_sockets.h
ext/sockets/sockets.c

index 2b6700d8838a651c1038c9fea10f1604a8aed480..3762e026aa516846917b16b4685ef102a130ba14 100644 (file)
@@ -64,13 +64,13 @@ PHP_SOCKETS_API int php_sockets_le_socket(void);
 
 #define php_sockets_le_socket_name "Socket"
 
-/* Prototypes */
-#ifdef ilia_0 /* not needed, only causes a compiler warning */
-static int php_open_listen_sock(php_socket **php_sock, int port, int backlog TSRMLS_DC);
-static int php_accept_connect(php_socket *in_sock, php_socket **new_sock, struct sockaddr *la TSRMLS_DC);
-static int php_read(php_socket *sock, void *buf, size_t maxlen, int flags);
-static char *php_strerror(int error TSRMLS_DC);
-#endif
+#define PHP_SOCKET_ERROR(socket, msg, errn) \
+               do { \
+                       int _err = (errn); /* save value to avoid repeated calls to WSAGetLastError() on Windows */ \
+                       (socket)->error = _err; \
+                       SOCKETS_G(last_error) = _err; \
+                       php_error_docref(NULL TSRMLS_CC, E_WARNING, "%s [%d]: %s", msg, _err, php_strerror(_err TSRMLS_CC)); \
+               } while (0)
 
 ZEND_BEGIN_MODULE_GLOBALS(sockets)
        int last_error;
index 1cb36cd7eb38b251fcdb491f9480b4ba67afe498..6069fc5ec72b12a906b122fe75590586abf90d92 100644 (file)
@@ -117,10 +117,6 @@ static char *php_strerror(int error TSRMLS_DC);
 #define PHP_NORMAL_READ 0x0001
 #define PHP_BINARY_READ 0x0002
 
-#define PHP_SOCKET_ERROR(socket,msg,errn)      socket->error = errn;   \
-                                               SOCKETS_G(last_error) = errn; \
-                                               php_error_docref(NULL TSRMLS_CC, E_WARNING, "%s [%d]: %s", msg, errn, php_strerror(errn TSRMLS_CC))
-
 static int le_socket;
 #define le_socket_name php_sockets_le_socket_name