X-Git-Url: https://git.m6w6.name/?p=m6w6%2Fext-psi;a=blobdiff_plain;f=src%2Fcontext.c;h=3c86f992323bd821dd11a1411992d1c72e859d8a;hp=1a20af9decd4b57e97757670ea9b881af33b4c62;hb=974c9580535a1668dd6eed9992d582ebcc29b27a;hpb=ff9d77817b7feffd43dacd8e5b1d5f644a35ae7d diff --git a/src/context.c b/src/context.c index 1a20af9..3c86f99 100644 --- a/src/context.c +++ b/src/context.c @@ -150,24 +150,24 @@ static struct psi_predef_const { PSI_MACROS -size_t psi_fread(void *ptr, size_t size, size_t nmemb, FILE *stream) -{ - size_t rv = fread(ptr, size, nmemb, stream); +int psi_glob(const char *pattern, int flags, + int (*errfunc) (const char *epath, int eerrno), + glob_t *pglob) { + size_t offs = flags & GLOB_DOOFFS ? pglob->gl_offs : 0; + int rv = glob(pattern, flags, errfunc, pglob); + if (pglob->gl_pathv) { + while (offs--) { + pglob->gl_pathv[offs] = NULL; + } + } return rv; } -FILE *psi_fopen(const char *path, const char *mode) -{ - FILE *f = fopen(path, mode); - return f; -} - static struct psi_func_redir { const char *name; void (*func)(void); } psi_func_redirs[] = { - {"fopen", (void (*)(void)) psi_fopen}, - {"fread", (void (*)(void)) psi_fread}, + {"glob", (void (*)(void)) psi_glob}, PSI_REDIRS {0} };