From 67bfd59360a8b5dbbd65767e1179c1631f8e6789 Mon Sep 17 00:00:00 2001 From: Robin Haberkorn Date: Sat, 13 Dec 2014 03:26:32 +0100 Subject: 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 --- src/glob.cpp | 4 ++++ 1 file changed, 4 insertions(+) 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); -- cgit v1.2.3