projects
/
m6w6
/
ext-psi
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
|
github
raw
|
inline
| side by side
fix package.xml
[m6w6/ext-psi]
/
psi.d
/
glob.psi
diff --git
a/psi.d/glob.psi
b/psi.d/glob.psi
index 2bb952e57e6c7dc8bbae6d446abd555549544c06..f4a762a729e1a0bfbac6e1877954d12abf449486 100644
(file)
--- a/
psi.d/glob.psi
+++ b/
psi.d/glob.psi
@@
-1,15
+1,26
@@
-function psi\glob(string $pattern, int $flags, array &$glob = NULL) : int {
+function psi\glob(string $pattern, int $flags, array &$glob = NULL
, callable $errfn = NULL
) : int {
let path = strval($pattern);
let flags = intval($flags);
let path = strval($pattern);
let flags = intval($flags);
- let err = NULL;
- let buf = arrval($glob);
+ let err = callback intval($errfn(
+ to_string(epath),
+ to_int(eerrno)
+ ));
+ let buf = &arrval($glob,
+ intval($gl_matchc),
+ intval($gl_pathc),
+ intval($gl_offs),
+ intval($gl_flags),
+ &arrval($gl_pathv,
+ strval($gl_pathv)
+ )
+ );
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),
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);
}