Browse Source

MFH

experimental/5.2-WITH_DRCP
Sara Golemon 19 years ago
parent
commit
5e74c607a2
  1. 12
      ext/posix/posix.c
  2. 2
      ext/standard/filestat.c

12
ext/posix/posix.c

@ -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
}

2
ext/standard/filestat.c

@ -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);

Loading…
Cancel
Save