mirror of
https://github.com/php/php-src.git
synced 2026-04-04 14:42:49 +02:00
Implemented realpath().
@ Added realpath() function. (Andrei)
This commit is contained in:
1
TODO
1
TODO
@@ -49,7 +49,6 @@ ext/standard
|
||||
------------
|
||||
* strpad() (Andrei)
|
||||
* stri_replace() (Andrei)
|
||||
* realpath() (Andrei)
|
||||
* socket_get_status (Andrei)
|
||||
* comparing arrays semantically (like Python) (Andrei)
|
||||
* NOT binary safe:
|
||||
|
||||
@@ -86,6 +86,8 @@ extern int fclose();
|
||||
#define MAP_FAILED ((void *) -1)
|
||||
#endif
|
||||
|
||||
#include "php_realpath.h"
|
||||
|
||||
/* }}} */
|
||||
/* {{{ ZTS-stuff / Globals / Prototypes */
|
||||
|
||||
@@ -243,6 +245,7 @@ function_entry file_functions[] = {
|
||||
#if HAVE_SYS_TIME_H
|
||||
PHP_FE(set_socket_timeout, NULL)
|
||||
#endif
|
||||
PHP_FE(realpath, NULL)
|
||||
#if 0 /* needs to be rethought 991221 thies@digicol.de */
|
||||
PHP_FE(fd_set, NULL)
|
||||
PHP_FE(fd_isset, NULL)
|
||||
@@ -1687,6 +1690,26 @@ PHP_FUNCTION(fgetcsv) {
|
||||
|
||||
/* }}} */
|
||||
|
||||
/* {{{ proto string realpath(string path)
|
||||
Returns the resolved path */
|
||||
PHP_FUNCTION(realpath)
|
||||
{
|
||||
zval **path;
|
||||
char resolved_path[MAXPATHLEN];
|
||||
|
||||
if (ZEND_NUM_ARGS() != 1 || zend_get_parameters_ex(1, &path) == FAILURE) {
|
||||
WRONG_PARAM_COUNT;
|
||||
}
|
||||
|
||||
convert_to_string_ex(path);
|
||||
if (php_realpath((*path)->value.str.val, resolved_path)) {
|
||||
RETURN_STRING(resolved_path, 1);
|
||||
} else {
|
||||
RETURN_FALSE;
|
||||
}
|
||||
}
|
||||
/* }}} */
|
||||
|
||||
#if 0
|
||||
|
||||
static fd_set readfd;
|
||||
|
||||
@@ -71,6 +71,7 @@ PHP_FUNCTION(flock);
|
||||
PHP_FUNCTION(fd_set);
|
||||
PHP_FUNCTION(fd_isset);
|
||||
PHP_FUNCTION(select);
|
||||
PHP_FUNCTION(realpath);
|
||||
|
||||
PHPAPI int php_set_sock_blocking(int socketd, int block);
|
||||
PHPAPI int php_file_le_fopen(void);
|
||||
|
||||
Reference in New Issue
Block a user