administrativa
[m6w6/ext-psi] / psi.d / getopt.psi
index ac7fd738c098d2c11bd208a89b4d9108caae985b..962ac970fb74ae66f126d2a78c554fec1ccb3c0d 100644 (file)
@@ -1,33 +1,37 @@
+#include <getopt.h>
+
 function psi\opterr(int $value) : void {
        let opterr = intval($value);
 function psi\opterr(int $value) : void {
        let opterr = intval($value);
-       return void(opterr_set);
+       return opterr_set(opterr) as void(opterr_set);
 }
 function psi\optind\get() : int {
 }
 function psi\optind\get() : int {
-       return to_int(optind_get);
+       return optind_get() as to_int(optind_get);
 }
 function psi\optind\set(int $v) : void {
        let optind = intval($v);
 }
 function psi\optind\set(int $v) : void {
        let optind = intval($v);
-       return void(optind_set);
+       return optind_set(optind) as void(optind_set);
 }
 function psi\optopt() : int {
 }
 function psi\optopt() : int {
-       return to_int(optopt);
+       return optopt_get() as to_int(optopt_get);
 }
 function psi\optarg() : string {
 }
 function psi\optarg() : string {
-       return to_string(optarg);
+       return optarg_get() as to_string(optarg_get);
 }
 }
-/* OSX
+
+#ifdef _OPTRESET
 function psi\optreset() : void {
        let _v = 1;
 function psi\optreset() : void {
        let _v = 1;
-       return void(optreset_set);
+       return optreset_set(_v) as void(optreset_set);
 }
 }
-*/
+#endif
+
 static function psi\getopt(array &$argv, string $options) : int {
        let argc = count($argv);
        let argv = &arrval($argv,
                *argv = strval($argv)
        );
        let optstring = strval($options);
 static function psi\getopt(array &$argv, string $options) : int {
        let argc = count($argv);
        let argv = &arrval($argv,
                *argv = strval($argv)
        );
        let optstring = strval($options);
-       return to_int(getopt);
+       return getopt(argc, argv, optstring) as to_int(getopt);
        set $argv = to_array(
                *argv,
                argc,
        set $argv = to_array(
                *argv,
                argc,