]> granicus.if.org Git - php/commitdiff
MFH
authorSara Golemon <pollita@php.net>
Thu, 11 Jan 2007 02:33:07 +0000 (02:33 +0000)
committerSara Golemon <pollita@php.net>
Thu, 11 Jan 2007 02:33:07 +0000 (02:33 +0000)
ext/posix/posix.c
ext/standard/filestat.c

index 19e5ec571e77635a5268f76f7c25117adfe3b85f..d3f2311d575ffad724ad7e754e475f0b62ec23fc 100644 (file)
@@ -932,7 +932,7 @@ PHP_FUNCTION(posix_getpwnam)
        struct passwd *pw;
        char *name;
        int name_len;
-#ifdef HAVE_GETPWNAM_R
+#if defined(_SC_GETPW_R_SIZE_MAX) && defined(HAVE_GETPWNAM_R)
        struct passwd pwbuf;
        int buflen;
        char *buf;
@@ -942,7 +942,7 @@ PHP_FUNCTION(posix_getpwnam)
                RETURN_FALSE;
        }
 
-#ifdef HAVE_GETPWNAM_R
+#if defined(_SC_GETPW_R_SIZE_MAX) && defined(HAVE_GETPWNAM_R)
        buflen = sysconf(_SC_GETPW_R_SIZE_MAX);
        buf = emalloc(buflen);
        pw = &pwbuf;
@@ -965,7 +965,7 @@ PHP_FUNCTION(posix_getpwnam)
                php_error_docref(NULL TSRMLS_CC, E_WARNING, "unable to convert posix passwd struct to array");
                RETVAL_FALSE;
        }
-#ifdef HAVE_GETPWNAM_R
+#if defined(_SC_GETPW_R_SIZE_MAX) && defined(HAVE_GETPWNAM_R)
        efree(buf);
 #endif
 }
@@ -976,7 +976,7 @@ PHP_FUNCTION(posix_getpwnam)
 PHP_FUNCTION(posix_getpwuid)
 {
        long uid;
-#ifdef HAVE_GETPWUID_R
+#if defined(_SC_GETPW_R_SIZE_MAX) && defined(HAVE_GETPWUID_R)
        struct passwd _pw;
        struct passwd *retpwptr = NULL;
        int pwbuflen;
@@ -988,7 +988,7 @@ PHP_FUNCTION(posix_getpwuid)
        if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "l", &uid) == FAILURE) {
                RETURN_FALSE;
        }
-#ifdef HAVE_GETPWUID_R
+#if defined(_SC_GETPW_R_SIZE_MAX) && defined(HAVE_GETPWUID_R)
        pwbuflen = sysconf(_SC_GETPW_R_SIZE_MAX);
        pwbuf = emalloc(pwbuflen);
 
@@ -1012,7 +1012,7 @@ PHP_FUNCTION(posix_getpwuid)
                php_error_docref(NULL TSRMLS_CC, E_WARNING, "unable to convert posix passwd struct to array");
                RETVAL_FALSE;
        }
-#ifdef HAVE_GETPWUID_R
+#if defined(_SC_GETPW_R_SIZE_MAX) && defined(HAVE_GETPWUID_R)
        efree(pwbuf);
 #endif
 }
index 9f688a718b712705c912a07e44b38afa97abffa4..71eb2ebdfce1a03efabda8d9a977ee1dc0fada7f 100644 (file)
@@ -454,7 +454,7 @@ static void php_do_chown(INTERNAL_FUNCTION_PARAMETERS, int do_lchown)
        }
        convert_to_string_ex(filename);
        if (Z_TYPE_PP(user) == IS_STRING) {
-#ifdef HAVE_GETPWNAM_R
+#if defined(_SC_GETPW_R_SIZE_MAX) && defined(HAVE_GETPWNAM_R)
                struct passwd pw;
                struct passwd *retpwptr = NULL;
                int pwbuflen = sysconf(_SC_GETPW_R_SIZE_MAX);