bjori           Thu Nov 15 13:13:21 2007 UTC

  Added files:                 (Branch: PHP_5_3)
    /php-src/ext/standard/tests/general_functions       getopt_002.phpt 
                                                        getopt_003.phpt 

  Modified files:              
    /php-src/ext/standard       basic_functions.c 
  Log:
  MFH: Allow numeric options & tests
  
  
http://cvs.php.net/viewvc.cgi/php-src/ext/standard/basic_functions.c?r1=1.725.2.31.2.64.2.11&r2=1.725.2.31.2.64.2.12&diff_format=u
Index: php-src/ext/standard/basic_functions.c
diff -u php-src/ext/standard/basic_functions.c:1.725.2.31.2.64.2.11 
php-src/ext/standard/basic_functions.c:1.725.2.31.2.64.2.12
--- php-src/ext/standard/basic_functions.c:1.725.2.31.2.64.2.11 Wed Nov 14 
14:42:25 2007
+++ php-src/ext/standard/basic_functions.c      Thu Nov 15 13:13:21 2007
@@ -17,7 +17,7 @@
    +----------------------------------------------------------------------+
  */
 
-/* $Id: basic_functions.c,v 1.725.2.31.2.64.2.11 2007/11/14 14:42:25 bjori Exp 
$ */
+/* $Id: basic_functions.c,v 1.725.2.31.2.64.2.12 2007/11/15 13:13:21 bjori Exp 
$ */
 
 #include "php.h"
 #include "php_streams.h"
@@ -4506,7 +4506,8 @@
        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++;
@@ -4516,8 +4517,9 @@
        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;

http://cvs.php.net/viewvc.cgi/php-src/ext/standard/tests/general_functions/getopt_002.phpt?view=markup&rev=1.1
Index: php-src/ext/standard/tests/general_functions/getopt_002.phpt
+++ php-src/ext/standard/tests/general_functions/getopt_002.phpt
--TEST--
getopt#002
--ARGS--
-vvv -a value -1111 -2 -v
--INI--
register_argc_argv=On
variables_order=GPS
--FILE--
<?php
        var_dump(getopt("2a:vcd1"));
?>
--EXPECT--
array(4) {
  ["v"]=>
  array(4) {
    [0]=>
    bool(false)
    [1]=>
    bool(false)
    [2]=>
    bool(false)
    [3]=>
    bool(false)
  }
  ["a"]=>
  string(5) "value"
  [1]=>
  array(4) {
    [0]=>
    bool(false)
    [1]=>
    bool(false)
    [2]=>
    bool(false)
    [3]=>
    bool(false)
  }
  [2]=>
  bool(false)
}



http://cvs.php.net/viewvc.cgi/php-src/ext/standard/tests/general_functions/getopt_003.phpt?view=markup&rev=1.1
Index: php-src/ext/standard/tests/general_functions/getopt_003.phpt
+++ php-src/ext/standard/tests/general_functions/getopt_003.phpt
--TEST--
getopt#003
--ARGS--
-vvv --v -a value --another value -1111 -2 --12 --0 --0 --1 -v
--INI--
register_argc_argv=On
variables_order=GPS
--FILE--
<?php
        var_dump(getopt("2a:vcd1", array("another:", 12, 0, 1, "v")));
?>
--EXPECT--
array(7) {
  ["v"]=>
  array(5) {
    [0]=>
    bool(false)
    [1]=>
    bool(false)
    [2]=>
    bool(false)
    [3]=>
    bool(false)
    [4]=>
    bool(false)
  }
  ["a"]=>
  string(5) "value"
  ["another"]=>
  string(5) "value"
  [1]=>
  array(5) {
    [0]=>
    bool(false)
    [1]=>
    bool(false)
    [2]=>
    bool(false)
    [3]=>
    bool(false)
    [4]=>
    bool(false)
  }
  [2]=>
  bool(false)
  [12]=>
  bool(false)
  [0]=>
  array(2) {
    [0]=>
    bool(false)
    [1]=>
    bool(false)
  }
}

-- 
PHP CVS Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php

Reply via email to