diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/glob.cpp | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/src/glob.cpp b/src/glob.cpp index 71100b7..486fbce 100644 --- a/src/glob.cpp +++ b/src/glob.cpp @@ -41,6 +41,7 @@ Globber::Globber(const gchar *_pattern) dirname = g_path_get_dirname(_pattern); dir = g_dir_open(dirname, 0, NULL); + /* if dirname does not exist, dir may be NULL */ basename = g_path_get_basename(_pattern); pattern = g_pattern_spec_new(basename); @@ -52,6 +53,9 @@ Globber::next(void) { const gchar *basename; + if (!dir) + return NULL; + while ((basename = g_dir_read_name(dir))) if (g_pattern_match_string(pattern, basename)) return g_build_filename(dirname, basename, NIL); |