diff options
author | Hartmut Holzgraefe <hholzgra@php.net> | 2002-03-21 19:18:13 +0000 |
---|---|---|
committer | Hartmut Holzgraefe <hholzgra@php.net> | 2002-03-21 19:18:13 +0000 |
commit | b00d9a5b2cedfdb53cf44e70e3966b5cc710cae2 (patch) | |
tree | ba4c85ab00426294b7b4b9ebcfe36ba731cac14b /ext/standard/file.c | |
parent | a974fbd9ae3c7c79d6fe4970672261744b9b90c0 (diff) | |
download | php-git-b00d9a5b2cedfdb53cf44e70e3966b5cc710cae2.tar.gz |
added fnmatch() and glob() functions
could someone please check if i got the virtual dir stuff right?
Diffstat (limited to 'ext/standard/file.c')
-rw-r--r-- | ext/standard/file.c | 28 |
1 files changed, 28 insertions, 0 deletions
diff --git a/ext/standard/file.c b/ext/standard/file.c index 801970b9fe..8e392e68cb 100644 --- a/ext/standard/file.c +++ b/ext/standard/file.c @@ -100,6 +100,10 @@ int file_globals_id; php_file_globals file_globals; #endif +#ifdef HAVE_FNMATCH +#include <fnmatch.h> +#endif + /* }}} */ /* {{{ ZTS-stuff / Globals / Prototypes */ @@ -1999,6 +2003,30 @@ php_meta_tags_token php_next_meta_token(php_meta_tags_data *md TSRMLS_DC) /* }}} */ +#ifdef HAVE_FNMATCH +/* {{{ proto bool fnmatch(string pattern, string filename [, int flags]) + Match filename against pattern */ +PHP_FUNCTION(fnmatch) +{ + char *pattern = NULL; + char *filename = NULL; + int argc = ZEND_NUM_ARGS(); + int pattern_len; + int filename_len; + long flags=0; + + if (zend_parse_parameters(argc TSRMLS_CC, "ss|l", + &pattern, &pattern_len, + &filename, &filename_len, + &flags) + == FAILURE) + return; + + RETURN_BOOL( ! fnmatch( pattern, filename, flags )); +} +/* }}} */ +#endif + /* * Local variables: * tab-width: 4 |