X-Git-Url: https://git.m6w6.name/?p=m6w6%2Fext-psi;a=blobdiff_plain;f=psi.d%2Fglob.psi;h=4e5589a579fa5b1470e7b074f4b2de62a1986663;hp=1fd6b15c9bb6f8677a96c232acb0802877ee50f1;hb=c0873cbbe9e5a83305adbc2bbd94aede5437f33d;hpb=601e13c0743234c53a62e68fc89f122069123c15 diff --git a/psi.d/glob.psi b/psi.d/glob.psi index 1fd6b15..4e5589a 100644 --- a/psi.d/glob.psi +++ b/psi.d/glob.psi @@ -3,7 +3,10 @@ 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) )); @@ -24,4 +27,5 @@ function psi\glob(string $pattern, int $flags, array &$glob = NULL, callable $er to_int(gl_flags), to_array(*gl_pathv, gl_pathc + gl_offs, to_string(*gl_pathv)) ); + free globfree(buf); }