tools/gst-run.c: Fix wrong g_file_test() usage (see glib docs for why it doesn't...
authorTim-Philipp Müller <tim@centricular.net>
Sat, 29 Apr 2006 23:15:40 +0000 (23:15 +0000)
committerTim-Philipp Müller <tim@centricular.net>
Sat, 29 Apr 2006 23:15:40 +0000 (23:15 +0000)
Original commit message from CVS:
* tools/gst-run.c: (get_candidates), (main):
Fix wrong g_file_test() usage (see glib docs for why it doesn't
work); fix typo in error message. Fixes #340079.

ChangeLog
tools/gst-run.c

index 502a655..ce269d4 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,9 @@
+2006-04-30  Tim-Philipp Müller  <tim at centricular dot net>
+
+       * tools/gst-run.c: (get_candidates), (main):
+         Fix wrong g_file_test() usage (see glib docs for why it doesn't
+         work); fix typo in error message. Fixes #340079.
+
 2006-04-29  Thomas Vander Stichele  <thomas at apestaart dot org>
 
        * common/Makefile.am:
index 9fbf975..a648753 100644 (file)
@@ -232,8 +232,10 @@ get_candidates (const gchar * dir, const gchar * base)
 
   while (cur != &dirs[0]) {
     --cur;
-    if (!g_file_test (*cur, G_FILE_TEST_EXISTS | G_FILE_TEST_IS_DIR))
+    if (!g_file_test (*cur, G_FILE_TEST_EXISTS) ||
+        !g_file_test (*cur, G_FILE_TEST_IS_DIR)) {
       continue;
+    }
 
     gdir = g_dir_open (*cur, 0, &error);
     if (!gdir) {
@@ -326,9 +328,13 @@ main (int argc, char **argv)
     highest = NULL;
 
     /* otherwise, just look up the highest version */
-    g_hash_table_foreach (candidates, (GHFunc) find_highest_version, &highest);
+    if (candidates) {
+      g_hash_table_foreach (candidates, (GHFunc) find_highest_version,
+          &highest);
+    }
+
     if (highest == NULL) {
-      g_print ("ERROR: No version of tool %s not found.\n", base);
+      g_print ("ERROR: No version of tool %s found.\n", base);
       return 1;
     }
     dir = g_hash_table_lookup (candidates, highest);