configure: add --enable-psi-maintainer-mode
[m6w6/ext-psi] / psi.d / getopt.psi
1 function psi\opterr(int $value) : void {
2 let opterr = intval($value);
3 return void(opterr_set);
4 }
5 function psi\optind\get() : int {
6 return to_int(optind_get);
7 }
8 function psi\optind\set(int $v) : void {
9 let optind = intval($v);
10 return void(optind_set);
11 }
12 function psi\optopt() : int {
13 return to_int(optopt);
14 }
15 function psi\optarg() : string {
16 return to_string(optarg);
17 }
18 /* OSX
19 function psi\optreset() : void {
20 let _v = 1;
21 return void(optreset_set);
22 }
23 */
24 static function psi\getopt(array &$argv, string $options) : int {
25 let argc = count($argv);
26 let argv = &arrval($argv,
27 *argv = strval($argv)
28 );
29 let optstring = strval($options);
30 return to_int(getopt);
31 set $argv = to_array(
32 *argv,
33 argc,
34 to_string(*argv)
35 );
36 }