]> granicus.if.org Git - php/commitdiff
avoid ANSI stdio when calling tempnam() to avoid limitations of AT&T libc.
authorWez Furlong <wez@php.net>
Thu, 9 Sep 2004 19:41:07 +0000 (19:41 +0000)
committerWez Furlong <wez@php.net>
Thu, 9 Sep 2004 19:41:07 +0000 (19:41 +0000)
ext/standard/file.c

index 785d99432e4614e0ab0cd0ad6c4006c6c2ca22fa..f8e08ade006102bb57c5e2cfa3ae312c594d0919 100644 (file)
@@ -704,7 +704,7 @@ PHP_FUNCTION(tempnam)
        char *d;
        char *opened_path;
        char p[64];
-       FILE *fp;
+       int fd;
 
        if (ZEND_NUM_ARGS() != 2 || zend_get_parameters_ex(2, &arg1, &arg2) == FAILURE) {
                WRONG_PARAM_COUNT;
@@ -719,8 +719,8 @@ PHP_FUNCTION(tempnam)
        d = estrndup(Z_STRVAL_PP(arg1), Z_STRLEN_PP(arg1));
        strlcpy(p, Z_STRVAL_PP(arg2), sizeof(p));
 
-       if ((fp = php_open_temporary_file(d, p, &opened_path TSRMLS_CC))) {
-               fclose(fp);
+       if ((fd = php_open_temporary_fd(d, p, &opened_path TSRMLS_CC)) >= 0) {
+               close(fd);
                RETVAL_STRING(opened_path, 0);
        } else {
                RETVAL_FALSE;