poppler/FileSpec.cc |   27 ++++++++++++++++-----------
 1 file changed, 16 insertions(+), 11 deletions(-)

New commits:
commit f8d93eae3c7b9388feabac71f2380d0b42a855e7
Author: Carlos Garcia Campos <carlo...@gnome.org>
Date:   Wed Jul 8 20:14:35 2009 +0200

    Lookup UF and F entries before Unix, MAC and DOS in getFileSpec

diff --git a/poppler/FileSpec.cc b/poppler/FileSpec.cc
index 7bc3795..a788cd8 100644
--- a/poppler/FileSpec.cc
+++ b/poppler/FileSpec.cc
@@ -32,27 +32,27 @@ GBool getFileSpecName (Object *fileSpec, Object *fileName)
   }
   
   if (fileSpec->isDict()) {
-    fileSpec->dictLookup("DOS", fileName);
+    fileSpec->dictLookup("UF", fileName);
     if (fileName->isString()) {
       return gTrue;
     }
     fileName->free();
-    fileSpec->dictLookup("Mac", fileName);
+    fileSpec->dictLookup("F", fileName);
     if (fileName->isString()) {
       return gTrue;
     }
     fileName->free();
-    fileSpec->dictLookup("Unix", fileName);
+    fileSpec->dictLookup("DOS", fileName);
     if (fileName->isString()) {
       return gTrue;
     }
     fileName->free();
-    fileSpec->dictLookup("UF", fileName);
+    fileSpec->dictLookup("Mac", fileName);
     if (fileName->isString()) {
       return gTrue;
     }
     fileName->free();
-    fileSpec->dictLookup("F", fileName);
+    fileSpec->dictLookup("Unix", fileName);
     if (fileName->isString()) {
       return gTrue;
     }
@@ -69,16 +69,16 @@ GBool getFileSpecNameForPlatform (Object *fileSpec, Object 
*fileName)
   }
 
   if (fileSpec->isDict()) {
+    if (!fileSpec->dictLookup("UF", fileName)->isString ()) {
+      fileName->free();
+      if (!fileSpec->dictLookup("F", fileName)->isString ()) {
+        fileName->free();
 #ifdef WIN32
-    fileSpec->dictLookup("DOS", fileName);
+       char *platform = "DOS";
 #else
-    fileSpec->dictLookup("Unix", fileName);
+       char *platform = "Unix";
 #endif
-    if (!fileName->isString()) {
-      fileName->free();
-      if (!fileSpec->dictLookup("UF", fileName)->isString ()) {
-        fileName->free();
-        if (!fileSpec->dictLookup("F", fileName)->isString ()) {
+       if (!fileSpec->dictLookup(platform, fileName)->isString ()) {
          fileName->free();
          error(-1, "Illegal file spec");
          return gFalse;
commit 767c534f5fdf6ccbccfd85a0086d72c215c278f1
Author: Carlos Garcia Campos <carlo...@gnome.org>
Date:   Wed Jul 8 19:13:54 2009 +0200

    Use UF entry when present in dict in getFileSpecName() too

diff --git a/poppler/FileSpec.cc b/poppler/FileSpec.cc
index 9ec4857..7bc3795 100644
--- a/poppler/FileSpec.cc
+++ b/poppler/FileSpec.cc
@@ -47,6 +47,11 @@ GBool getFileSpecName (Object *fileSpec, Object *fileName)
       return gTrue;
     }
     fileName->free();
+    fileSpec->dictLookup("UF", fileName);
+    if (fileName->isString()) {
+      return gTrue;
+    }
+    fileName->free();
     fileSpec->dictLookup("F", fileName);
     if (fileName->isString()) {
       return gTrue;
_______________________________________________
poppler mailing list
poppler@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/poppler

Reply via email to