ffi: improve support for functions returning arrays
[m6w6/ext-psi] / psi.d / glob.psi
index 5e6d21534d452d34c36304878dfb533dbd06f16c..d0c62cbd16a856bfbe13a2afdfbfa0cd23e2b7aa 100644 (file)
@@ -1,7 +1,12 @@
+#include <glob.h>
+
 function psi\glob(string $pattern, int $flags, array &$glob = NULL, callable $errfn = NULL) : int {
        let path = strval($pattern);
        let flags = intval($flags);
-       let err = callback intval($errfn(
+       let err = callback(
+               epath, 
+               eerrno
+       ) as intval($errfn(
                to_string(epath),
                to_int(eerrno)
        ));
@@ -14,7 +19,7 @@ function psi\glob(string $pattern, int $flags, array &$glob = NULL, callable $er
                        strval($gl_pathv)
                )
        );
-       return to_int(glob);
+       return glob(path, flags, err, buf) as to_int(glob);
        set $glob = to_array(*buf,
                to_int(gl_matchc),
                to_int(gl_pathc),