cmv             Fri Feb  2 12:55:27 2001 EDT

  Modified files:              
    /php4/ext/sockets   sockets.c 
  Log:
  Fix for http://bugs.php.net/bugs.php?id=9082
  
  I know switch() is expensive, so someone rewrite this "properly" if you
  want.
  
  
  
Index: php4/ext/sockets/sockets.c
diff -u php4/ext/sockets/sockets.c:1.29 php4/ext/sockets/sockets.c:1.30
--- php4/ext/sockets/sockets.c:1.29     Thu Jan 18 12:49:12 2001
+++ php4/ext/sockets/sockets.c  Fri Feb  2 12:55:27 2001
@@ -17,7 +17,7 @@
    +----------------------------------------------------------------------+
  */
 
-/* $Id: sockets.c,v 1.29 2001/01/18 20:49:12 sterling Exp $ */
+/* $Id: sockets.c,v 1.30 2001/02/02 20:55:27 cmv Exp $ */
 
 #include "php.h"
 
@@ -857,10 +857,27 @@
        int salen = sizeof(php_sockaddr_storage);
        int ret;
 
+       switch (ZEND_NUM_ARGS()) {
+               case 3:
+                       if (zend_get_parameters_ex(ZEND_NUM_ARGS(), &fd, &addr, &port) 
+== FAILURE)
+                               WRONG_PARAM_COUNT;
+                       break;
+               case 2:
+                       if (zend_get_parameters_ex(ZEND_NUM_ARGS(), &fd, &addr) == 
+FAILURE)
+                               WRONG_PARAM_COUNT;
+                       break;
+                       MAKE_STD_ZVAL((*port));
+                       
+               default:
+                       WRONG_PARAM_COUNT;
+       }
+
+/*
        if (ZEND_NUM_ARGS() < 2 || ZEND_NUM_ARGS() > 3 || 
            zend_get_parameters_ex(ZEND_NUM_ARGS(), &fd, &addr, &port) == FAILURE) {
                WRONG_PARAM_COUNT;
        }
+*/
        multi_convert_to_long_ex(ZEND_NUM_ARGS() - 1, fd, port);
        convert_to_string_ex(addr);
 



-- 
PHP CVS Mailing List (http://www.php.net/)
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]
To contact the list administrators, e-mail: [EMAIL PROTECTED]

Reply via email to