7 #define MY_CXT_KEY "File::Glob::_guts" XS_VERSION
15 #define GLOB_ERROR (MY_CXT.x_GLOB_ERROR)
17 #include "const-c.inc"
23 errfunc(const char *foo, int bar) {
24 return !(bar == EACCES || bar == ENOENT || bar == ENOTDIR);
28 MODULE = File::Glob PACKAGE = File::Glob
49 /* allow for optional flags argument */
51 flags = (int) SvIV(ST(1));
55 retval = bsd_glob(pattern, flags, errfunc, &pglob);
58 /* return any matches found */
59 EXTEND(sp, pglob.gl_pathc);
60 for (i = 0; i < pglob.gl_pathc; i++) {
61 /* printf("# bsd_glob: %s\n", pglob.gl_pathv[i]); */
62 tmp = sv_2mortal(newSVpvn(pglob.gl_pathv[i],
63 strlen(pglob.gl_pathv[i])));