glob
[m6w6/ext-psi] / psi.d / glob.psi
diff --git a/psi.d/glob.psi b/psi.d/glob.psi
new file mode 100644 (file)
index 0000000..3f8ee1e
--- /dev/null
@@ -0,0 +1,18 @@
+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 flags = intval($flags);
+       let err = NULL;
+       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))
+       );
+       //free globfree(buf);
+}