diff options
author | Robin Haberkorn <robin.haberkorn@googlemail.com> | 2014-12-13 03:26:32 +0100 |
---|---|---|
committer | Robin Haberkorn <robin.haberkorn@googlemail.com> | 2014-12-15 07:49:38 +0100 |
commit | 67bfd59360a8b5dbbd65767e1179c1631f8e6789 (patch) | |
tree | 261627219c33efa26bb2c6dd033d2810b6755e67 | |
parent | ce1fda98589215772da3bf85e76020a6d56b75a0 (diff) | |
download | sciteco-67bfd59360a8b5dbbd65767e1179c1631f8e6789.tar.gz |
fixed globbing of non-existing directories
* for non-existing directories, NULL was passed to g_dir_read_name().
This resulted in Glib errors being printed to stdout/stderr.
* this was broken in commit 427c9d
-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); |