]> git.wh0rd.org - fontconfig.git/blobdiff - src/fcstr.c
[fcformat] Implement 'cescape', 'shescape', and 'xmlescape' converters
[fontconfig.git] / src / fcstr.c
index f56f823bc2f99a0c5600e60ad4cd9b62c3808767..2f2cd4dfd0dc6b2c6857d4bd0497006e7a76b250 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * $RCSId: xc/lib/fontconfig/src/fcstr.c,v 1.10 2002/08/31 22:17:32 keithp Exp $
+ * fontconfig/src/fcstr.c
  *
  * Copyright © 2000 Keith Packard
  *
@@ -902,6 +902,9 @@ FcStrCanonAbsoluteFilename (const FcChar8 *s)
            if (slash)
            {
                switch (s - slash) {
+               case 1:
+                   f -= 1;     /* squash // and trim final / from file */
+                   break;
                case 2:
                    if (!strncmp ((char *) slash, "/.", 2))
                    {
@@ -940,7 +943,13 @@ FcConvertDosPath (char *str)
   char *dest = str;
   char *end = str + len;
   char last = 0;
-  
+
+  if (*p == '\\')
+    {
+      *p = '/';
+      p++;
+      dest++;
+    }
   while (p < end)
     {
       if (*p == '\\')
@@ -965,10 +974,8 @@ FcStrCanonFilename (const FcChar8 *s)
 {
 #ifdef _WIN32
     FcChar8 full[FC_MAX_FILE_LEN + 2];
-    FcChar8 basename[FC_MAX_FILE_LEN + 2];
     int size = GetFullPathName (s, sizeof (full) -1,
-                               full,
-                               basename);
+                               full, NULL);
 
     if (size == 0)
        perror ("GetFullPathName");