diff options
Diffstat (limited to 'scripts/config/zconf.l')
-rw-r--r-- | scripts/config/zconf.l | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/scripts/config/zconf.l b/scripts/config/zconf.l index 3aef45983a..1dd765817a 100644 --- a/scripts/config/zconf.l +++ b/scripts/config/zconf.l @@ -343,6 +343,7 @@ void zconf_nextfile(const char *name) glob_t gl; int err; int i; + char path[PATH_MAX], *p; err = glob(name, GLOB_ERR | GLOB_MARK, NULL, &gl); @@ -352,6 +353,15 @@ void zconf_nextfile(const char *name) gl.gl_pathc = 0; } + if (err == GLOB_NOMATCH) { + p = strdup(current_file->name); + if (p) { + snprintf(path, sizeof(path), "%s/%s", dirname(p), name); + err = glob(path, GLOB_ERR | GLOB_MARK, NULL, &gl); + free(p); + } + } + if (err) { const char *reason = "unknown error"; |