]> www.fi.muni.cz Git - evince.git/commitdiff
Commit workaround Mozilla problem. Fix for the bug #325919
authorNickolay V. Shmyrev <nshmyrev@src.gnome.org>
Fri, 6 Jan 2006 23:03:44 +0000 (23:03 +0000)
committerNickolay V. Shmyrev <nshmyrev@src.gnome.org>
Fri, 6 Jan 2006 23:03:44 +0000 (23:03 +0000)
* ps/ps.c: (psscan):

Commit workaround Mozilla problem. Fix for the bug #325919

* shell/ev-metadata-manager.c: (parse_value), (parseItem),
(save_item):

Fix for year 2038 problem.

ChangeLog
ps/ps.c
shell/ev-metadata-manager.c

index 891078512957c0c0a563fbd86a7732310f0290f5..12b4b5bca05967386b045cdbf798e7a99848cf75 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,14 @@
+2006-01-07  Nickolay V. Shmyrev  <nshmyrev@yandex.ru>
+
+       * ps/ps.c: (psscan):
+       
+       Commit workaround Mozilla problem. Fix for the bug #325919
+       
+       * shell/ev-metadata-manager.c: (parse_value), (parseItem),
+       (save_item):
+       
+       Fix for year 2038 problem.
+
 2006-01-06  Nickolay V. Shmyrev  <nshmyrev@yandex.ru>
 
        * shell/ev-window.c: (setup_document_from_metadata),
diff --git a/ps/ps.c b/ps/ps.c
index e79fb0631957dab61aff8fe589d175995477d829..30b9e5675acb8a14acdcfa42c75d3cdba3ad00d9 100644 (file)
--- a/ps/ps.c
+++ b/ps/ps.c
@@ -619,7 +619,7 @@ psscan(FILE * file, int respect_eof, const gchar * fname)
       if(!DSCcomment(line)) {
         /* Do nothing */
       }
-      else if(doc->default_page_orientation == NONE &&
+      else if(doc->default_page_orientation == GTK_GS_ORIENTATION_NONE &&
               iscomment(line + 2, "PageOrientation:")) {
         sscanf(line + length("%%PageOrientation:"), "%256s", text);
         if(strcmp(text, "Portrait") == 0) {
@@ -747,7 +747,7 @@ psscan(FILE * file, int respect_eof, const gchar * fname)
       if(!DSCcomment(line)) {
         /* Do nothing */
       }
-      else if(doc->default_page_orientation == NONE &&
+      else if(doc->default_page_orientation == GTK_GS_ORIENTATION_NONE &&
               iscomment(line + 2, "PageOrientation:")) {
         sscanf(line + length("%%PageOrientation:"), "%256s", text);
         if(strcmp(text, "Portrait") == 0) {
@@ -813,13 +813,21 @@ psscan(FILE * file, int respect_eof, const gchar * fname)
     doc->lensetup = section_len - line_len;
   }
 
-  /* Added this (Nov. 2, 1999) when I noticed that
-     a Postscript file would load in gv but not in ggv
-
-     dmg@csg.uwaterloo.ca */
+  /* HACK: Mozilla 1.8 Workaround.
+  
+     It seems that Mozilla 1.8 generates important postscript code 
+     after the '%%EndProlog' and before the first page comment '%%Page: x y'.
+     See comment below also.
+   */
+   
+  if(doc->beginprolog && !doc->beginsetup) {
+      doc->lenprolog += section_len - line_len;
+      doc->endprolog = position;
+  }
+  
+  /* HACK: Windows NT Workaround
 
-  /* BEGIN Windows NT fix ###jp###
-     Mark Pfeifer (pfeiferm%ppddev@comet.cmis.abbott.com) told me
+     Mark Pfeifer (pfeiferm%ppddev@comet.cmis.abbott.com) noticed
      about problems when viewing Windows NT 3.51 generated postscript
      files with gv. He found that the relevant postscript files
      show important postscript code after the '%%EndSetup' and before
@@ -837,7 +845,6 @@ psscan(FILE * file, int respect_eof, const gchar * fname)
       doc->endsetup = position;
     }
   }
-  /* END Windows NT fix ###jp## */
 
   /* Individual Pages */
 
index 8249fb066f9ff36993ad4e7a2446d658cc32d391..4103a3516eeb5db96a44789b530c769813a948af 100644 (file)
@@ -142,13 +142,13 @@ parse_value (xmlChar *value, xmlChar *type)
                        g_value_set_string (ret, (char *)value);
                        break;
                case G_TYPE_INT:
-                       g_value_set_int (ret, atoi ((char *)value));
+                       g_value_set_int (ret, g_ascii_strtoull ((char *)value, NULL, 0));
                        break;
                case G_TYPE_DOUBLE:
                        g_value_set_double (ret, g_ascii_strtod ((char *)value, NULL));
                        break;
                case G_TYPE_BOOLEAN:
-                       g_value_set_boolean (ret, atoi ((char *)value));
+                       g_value_set_boolean (ret, g_ascii_strtoull ((char *)value, NULL, 0));
                        break;
        }
 
@@ -179,7 +179,7 @@ parseItem (xmlDocPtr doc, xmlNodePtr cur)
 
        item = g_new0 (Item, 1);
 
-       item->atime = atol ((char *)atime);
+       item->atime = g_ascii_strtoull((char*)atime, NULL, 0);
        
        item->values = g_hash_table_new_full (g_str_hash, 
                                              g_str_equal, 
@@ -569,10 +569,8 @@ save_item (const gchar *key, const gpointer *data, xmlNodePtr parent)
        
        xmlSetProp (xml_node, (const xmlChar *)"uri", (const xmlChar *)key);
 
-       /* FIXME: is the cast right? - Paolo */
-       atime = g_strdup_printf ("%d", (int)item->atime);
-       xmlSetProp (xml_node, (const xmlChar *)"atime", (const xmlChar *)atime);        
-
+       atime = g_strdup_printf ("%ld", item->atime);
+       xmlSetProp (xml_node, (const xmlChar *)"atime", (const xmlChar *)atime);
        g_free (atime);
 
        g_hash_table_foreach (item->values,