]> err.no Git - pkg-config/commitdiff
Handle \ correctly on win32
authorTollef Fog Heen <tfheen@err.no>
Sat, 1 Oct 2005 10:24:02 +0000 (10:24 +0000)
committerTollef Fog Heen <tfheen@err.no>
Sat, 1 Oct 2005 10:24:02 +0000 (10:24 +0000)
2005-10-01  Tollef Fog Heen  <tfheen@err.no>

        * pkg.c(scan_dir): Turn backslashes into slashes or
        poptParseArgvString() will eat them when ${prefix} has been
        expanded in parse_libs().  Thanks to j^ for the patch.

ChangeLog
pkg.c

index c5777b8723bc37745f06ef4534a5b193f139cf74..d99837884075612ec549dd70129288040edf37f9 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -2,6 +2,9 @@
 
        * pkg.c (packages_get_var): Don't try to chop if string length is
        zero.  Freedesktop #4034.
+       (scan_dir): Turn backslashes into slashes or poptParseArgvString()
+       will eat them when ${prefix} has been expanded in parse_libs().
+       Thanks to j^ for the patch.
 
 2005-09-21  Tollef Fog Heen  <tfheen@err.no>
 
diff --git a/pkg.c b/pkg.c
index dbb4288cd8e8c60a2f9206e7ce6ce5f9bc89a778..84f710e41e723fed83505de35694b615a9083630 100644 (file)
--- a/pkg.c
+++ b/pkg.c
@@ -144,7 +144,22 @@ scan_dir (const char *dirname)
       dirnamelen--;
       dirname_copy[dirnamelen] = '\0';
     }
-
+#ifdef G_OS_WIN32
+    {
+      gchar *p;
+      /* Turn backslashes into slashes or
+       * poptParseArgvString() will eat them when ${prefix}
+       * has been expanded in parse_libs().
+       */
+      p = dirname;
+      while (*p)
+        {
+          if (*p == '\\')
+            *p = '/';
+          p++;
+        }
+    }
+#endif
   dir = opendir (dirname_copy);
   g_free (dirname_copy);
   if (!dir)