]> granicus.if.org Git - php/commitdiff
Clean up the function for the Zend API (php3, early php4 relics removed).
authorSterling Hughes <sterling@php.net>
Fri, 17 Aug 2001 06:53:26 +0000 (06:53 +0000)
committerSterling Hughes <sterling@php.net>
Fri, 17 Aug 2001 06:53:26 +0000 (06:53 +0000)
Use PF_INET, instead of AF_INET, if present.
remove some code enclosed in #if 0 ... #endif that made no sense

ext/standard/fsock.c

index abb46a27745cc5dd612ecdf1634e8394b18f5da5..6a6998a3159c2db14e89ae1d687708a1a7448568 100644 (file)
 #include <sys/select.h>
 #endif
 
+#ifndef PF_INET
+#define PF_INET AF_INET
+#endif
+
+#ifndef PF_UNIX
+#define PF_UNIX AF_UNIX
+#endif
+
 #include <string.h>
 #include <errno.h>
 
@@ -168,25 +176,25 @@ static void php_fsockopen(INTERNAL_FUNCTION_PARAMETERS, int persistent) {
        switch(arg_count) {
                case 5:
                        convert_to_double_ex(args[4]);
-                       conv = (unsigned long) ((*args[4])->value.dval * 1000000.0);
+                       conv = (unsigned long) (Z_DVAL_PP(args[4]) * 1000000.0);
                        timeout.tv_sec = conv / 1000000;
                        timeout.tv_usec = conv % 1000000;
                        /* fall-through */
                case 4:
-                       zval_dtor(*args[3]);
+                       zval_ptr_dtor(args[3]);
                        ZVAL_STRING(*args[3], "", 1);
                        /* fall-through */
                case 3:
-                       zval_dtor(*args[2]);
+                       zval_ptr_dtor(args[2]);
                        ZVAL_LONG(*args[2], 0);
                        break;
        }
        convert_to_string_ex(args[0]);
        convert_to_long_ex(args[1]);
-       portno = (unsigned short) (*args[1])->value.lval;
+       portno = (unsigned short) Z_LVAL_PP(args[1]);
 
-       key = emalloc((*args[0])->value.str.len + 10);
-       sprintf(key, "%s:%d", (*args[0])->value.str.val, portno);
+       key = emalloc(Z_STRLEN_PP(args[0]) + 10);
+       sprintf(key, "%s:%d", Z_STRVAL_PP(args[0]), portno);
 
        if (persistent && zend_hash_find(&FG(ht_fsock_keys), key, strlen(key) + 1,
                                (void *) &sockp) == SUCCESS) {
@@ -204,8 +212,7 @@ static void php_fsockopen(INTERNAL_FUNCTION_PARAMETERS, int persistent) {
                        udp = 1;
                }
 
-               socketd = socket(AF_INET, udp ? SOCK_DGRAM : SOCK_STREAM, 0);
-
+               socketd = socket(PF_INET, udp ? SOCK_DGRAM : SOCK_STREAM, 0);
                if (socketd == SOCK_ERR) {
                        CLOSE_SOCK(1);
                        RETURN_FALSE;
@@ -213,22 +220,22 @@ static void php_fsockopen(INTERNAL_FUNCTION_PARAMETERS, int persistent) {
 
                server.sin_family = AF_INET;
 
-               if(php_lookup_hostname(udp ? &(*args[0])->value.str.val[6] : (*args[0])->value.str.val, &server.sin_addr)) {
+               if(php_lookup_hostname(udp ? &Z_STRVAL_PP(args[0])[6] : Z_STRVAL_PP(args[0]), &server.sin_addr)) {
                        CLOSE_SOCK(1);
                        RETURN_FALSE;
                }
 
                server.sin_port = htons(portno);
 
-               if (php_connect_nonb(socketd, (struct sockaddr *)&server, sizeof(server), &timeout) == SOCK_CONN_ERR) {
+               if (php_connect_nonb(socketd, (struct sockaddr *) &server, sizeof(server), &timeout) == SOCK_CONN_ERR) {
                        CLOSE_SOCK(1);
 
                        if (arg_count>2) {
-                               zval_dtor(*args[2]);
+                               zval_ptr_dtor(args[2]);
                                ZVAL_LONG(*args[2], errno);
                        }
                        if (arg_count>3) {
-                               zval_dtor(*args[3]);
+                               zval_ptr_dtor(args[3]);
                                ZVAL_STRING(*args[3], strerror(errno), 1);
                        }
                        RETURN_FALSE;
@@ -237,24 +244,24 @@ static void php_fsockopen(INTERNAL_FUNCTION_PARAMETERS, int persistent) {
        } else {
                /* Unix domain socket.  s->strval is socket name. */
                struct  sockaddr_un unix_addr;
-               socketd = socket(AF_UNIX, SOCK_STREAM, 0);
+               socketd = socket(PF_UNIX, SOCK_STREAM, 0);
                if (socketd == SOCK_ERR) {
                        CLOSE_SOCK(1);
                        RETURN_FALSE;
                }
 
-               memset(&unix_addr, (char)0, sizeof(unix_addr));
+               memset(&unix_addr, 0, sizeof(unix_addr));
                unix_addr.sun_family = AF_UNIX;
-               strlcpy(unix_addr.sun_path, (*args[0])->value.str.val, sizeof(unix_addr.sun_path));
+               strlcpy(unix_addr.sun_path, Z_STRVAL_PP(args[0]), sizeof(unix_addr.sun_path));
 
                if (php_connect_nonb(socketd, (struct sockaddr *) &unix_addr, sizeof(unix_addr), &timeout) == SOCK_CONN_ERR) {
                        CLOSE_SOCK(1);
                        if (arg_count>2) {
-                               zval_dtor(*args[2]);
+                               zval_ptr_dtor(args[2]);
                                ZVAL_LONG(*args[2], errno);
                        }
                        if (arg_count>3) {
-                               zval_dtor(*args[3]);
+                               zval_ptr_dtor(args[3]);
                                ZVAL_STRING(*args[3], strerror(errno), 1);
                        }
                        RETURN_FALSE;
@@ -262,26 +269,16 @@ static void php_fsockopen(INTERNAL_FUNCTION_PARAMETERS, int persistent) {
 #endif /* AF_UNIX */
        }
 
-#if 0
-       if ((fp = fdopen (socketd, "r+")) == NULL){
-               RETURN_LONG(-6);  /* FIXME */
-       }
-
-#ifdef HAVE_SETVBUF
-       if ((setvbuf(fp, NULL, _IONBF, 0)) != 0){
-               RETURN_LONG(-7);  /* FIXME */
-       }
-#endif
-#endif
-
-       *sock=socketd;
+       *sock = socketd;
        if (persistent) {
                zend_hash_update(&FG(ht_fsock_keys), key, strlen(key) + 1,
                                sock, sizeof(*sock), NULL);
                zend_hash_update(&FG(ht_fsock_socks), (char *) sock, sizeof(*sock),
                                key, strlen(key) + 1, NULL);
        }
-       if(key) efree(key);
+    
+       if(key) 
+        efree(key);
 
        ZEND_REGISTER_RESOURCE(return_value, sock, php_file_le_socket());
 }