diff options
| author | Hannes Magnusson <bjori@php.net> | 2007-11-15 13:11:48 +0000 |
|---|---|---|
| committer | Hannes Magnusson <bjori@php.net> | 2007-11-15 13:11:48 +0000 |
| commit | ebc540d2c9147ef8da5d56828651cf212a39ddf2 (patch) | |
| tree | 927ae9b8dd8a83ca6390103dfdf94db646fb8e6d /ext/standard/basic_functions.c | |
| parent | 4a86b3d6ea4a6137d94b1801c79442e4d953bdd8 (diff) | |
| download | php-git-ebc540d2c9147ef8da5d56828651cf212a39ddf2.tar.gz | |
- Allow numeric options
- Add tests
Diffstat (limited to 'ext/standard/basic_functions.c')
| -rw-r--r-- | ext/standard/basic_functions.c | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/ext/standard/basic_functions.c b/ext/standard/basic_functions.c index 597a9557ed..49bc6113d8 100644 --- a/ext/standard/basic_functions.c +++ b/ext/standard/basic_functions.c @@ -4470,7 +4470,8 @@ static int parse_opts(char * opts, opt_struct ** result) int i, count = 0; for (i = 0; i < strlen(opts); i++) { - if ((opts[i] >= 65 && opts[i] <= 90) || + if ((opts[i] >= 48 && opts[i] <= 57) || + (opts[i] >= 65 && opts[i] <= 90) || (opts[i] >= 97 && opts[i] <= 122) ) { count++; @@ -4480,8 +4481,9 @@ static int parse_opts(char * opts, opt_struct ** result) paras = safe_emalloc(sizeof(opt_struct), count, 0); memset(paras, 0, sizeof(opt_struct) * count); *result = paras; - while ( (*opts >= 65 && *opts <= 90) || - (*opts >= 97 && *opts <= 122) + while ( (*opts >= 48 && *opts <= 57) || /* 0 - 9 */ + (*opts >= 65 && *opts <= 90) || /* A - Z */ + (*opts >= 97 && *opts <= 122) /* a - z */ ) { paras->opt_char = *opts; paras->need_param = (*(++opts) == ':') ? 1 : 0; |
