From: [EMAIL PROTECTED] Operating system: Windows' 9x PHP version: 4.1.2 PHP Bug Type: Sockets related Bug description: socket_connect returns boolean, but not integer
1) in your documentation (http://www.php.net/manual/en/function.socket-connect.php) "socket_connect" function described as: int socket_connect ( resource socket, string address [, int port]) but in your binaries (extensions/php_sockets.dll) and in source codes (/ext/sockets/socket.c) this function returns 0(false) or 1(true): ... if (retval != 0) { PHP_SOCKET_ERROR(php_sock, "unable to connect", errno); RETURN_FALSE; } RETURN_TRUE; ... Also "Example 2. Socket example: Simple TCP/IP client" (http://www.php.net/manual/en/ref.sockets.php) is wrong: ... $socket = socket_create (AF_INET, SOCK_STREAM, 0); if ($socket < 0) { echo "socket_create() failed: reason: " . socket_strerror ($socket) . "\n"; } else { echo "OK.\n"; } ... Must be something like this: >> ... if ($socket == 0) { ... 2) Function "socket_connect" (/ext/sockets/socket.c) calls function php_error: .... php_error(E_WARNING, "%s() %s [%d]: %s", get_active_function_name(TSRMLS_C), msg, errn, php_strerror(errn)); ... but last parameter is not a pointer to string, it's an integer number (equals to "errn"), because "php_strerror(errn)" can not return error message (function "FormatMessage" fails). -- Edit bug report at http://bugs.php.net/?id=16819&edit=1 -- Fixed in CVS: http://bugs.php.net/fix.php?id=16819&r=fixedcvs Fixed in release: http://bugs.php.net/fix.php?id=16819&r=alreadyfixed Need backtrace: http://bugs.php.net/fix.php?id=16819&r=needtrace Try newer version: http://bugs.php.net/fix.php?id=16819&r=oldversion Not developer issue: http://bugs.php.net/fix.php?id=16819&r=support Expected behavior: http://bugs.php.net/fix.php?id=16819&r=notwrong Not enough info: http://bugs.php.net/fix.php?id=16819&r=notenoughinfo Submitted twice: http://bugs.php.net/fix.php?id=16819&r=submittedtwice