#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;
#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