flush
[m6w6/ext-psi] / psi.d / glob.psi
index 3f8ee1e37e16f105941f75029ae148a10ae2eea6..72c0c76f9d48c2e9256405edd8004510a9aea84a 100644 (file)
@@ -1,18 +1,15 @@
-extern void globfree(glob_t *buf);
-
-extern int glob(char *pat, int flags, void *err, glob_t *buf);
 function psi\glob(string $pattern, int $flags, array &$glob = NULL) : int {
-       let pat = strval($pattern);
+       let path = strval($pattern);
        let flags = intval($flags);
        let err = NULL;
-       let buf = arrval($glob);
+       let buf = &arrval($glob);
        return to_int(glob);
        set $glob = to_array(*buf,
                to_int(gl_matchc),
                to_int(gl_pathc),
                to_int(gl_offs),
                to_int(gl_flags),
-               to_array(**gl_pathv, gl_pathc, gl_offs, to_string(*gl_pathv))
+               to_array(gl_pathv, gl_pathc + gl_offs, to_string(gl_pathv))
        );
-       //free globfree(buf);
+       free globfree(buf);
 }