Skip to content

Commit b6465f7

Browse files
committed
Refactor checks for fpathconf and pathconf
These two might not be available everywhere so we check them in config.m4 when doing the configure step. Constants that are defined into main/php_config.h: HAVE_FPATHCONF HAVE_PATHCONF Implemented via phpGH-10238 Related to phpGH-10350 Fixes phpGH-12725
1 parent 6176538 commit b6465f7

File tree

4 files changed

+17
-12
lines changed

4 files changed

+17
-12
lines changed

ext/posix/config.m4

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ if test "$PHP_POSIX" = "yes"; then
1010

1111
AC_CHECK_HEADERS([sys/mkdev.h sys/sysmacros.h])
1212

13-
AC_CHECK_FUNCS(seteuid setegid setsid getsid getpgid ctermid mkfifo mknod setrlimit getrlimit getgroups makedev initgroups getgrgid_r posix_pathconf eaccess)
13+
AC_CHECK_FUNCS(seteuid setegid setsid getsid getpgid ctermid mkfifo mknod setrlimit getrlimit getgroups makedev initgroups getgrgid_r pathconf fpathconf eaccess)
1414

1515
AC_MSG_CHECKING([for working ttyname_r() implementation])
1616
AC_RUN_IFELSE([AC_LANG_SOURCE([[

ext/posix/posix.c

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -533,8 +533,8 @@ PHP_FUNCTION(posix_isatty)
533533
/* }}} */
534534

535535
/*
536-
POSIX.1, 4.8.1 sysconf() - TODO
537-
POSIX.1, 5.7.1 pathconf(), fpathconf() - TODO
536+
POSIX.1, 4.8.1 sysconf()
537+
POSIX.1, 5.7.1 pathconf(), fpathconf()
538538
539539
POSIX.1, 5.1.2 opendir(), readdir(), rewinddir(), closedir()
540540
POSIX.1, 5.2.1 chdir()
@@ -1240,7 +1240,7 @@ PHP_FUNCTION(posix_sysconf)
12401240
RETURN_LONG(sysconf(conf_id));
12411241
}
12421242

1243-
#ifdef HAVE_POSIX_PATHCONF
1243+
#ifdef HAVE_PATHCONF
12441244
PHP_FUNCTION(posix_pathconf)
12451245
{
12461246
zend_long name, ret;
@@ -1269,7 +1269,9 @@ PHP_FUNCTION(posix_pathconf)
12691269

12701270
RETURN_LONG(ret);
12711271
}
1272+
#endif
12721273

1274+
#ifdef HAVE_FPATHCONF
12731275
PHP_FUNCTION(posix_fpathconf)
12741276
{
12751277
zend_long name, ret, fd = 0;

ext/posix/posix.stub.php

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -432,8 +432,11 @@ function posix_initgroups(string $username, int $group_id): bool {}
432432

433433
function posix_sysconf(int $conf_id): int {}
434434

435-
#ifdef HAVE_POSIX_PATHCONF
435+
#ifdef HAVE_PATHCONF
436436
function posix_pathconf(string $path, int $name): int|false {}
437+
#endif
438+
439+
#ifdef HAVE_FPATHCONF
437440
/** @param resource|int $file_descriptor */
438441
function posix_fpathconf($file_descriptor, int $name): int|false {}
439442
#endif

ext/posix/posix_arginfo.h

Lines changed: 7 additions & 7 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

0 commit comments

Comments
 (0)