Patched bug(s) in postscipt driver
authorJohn Darrington <john@darrington.wattle.id.au>
Mon, 15 Dec 2003 07:35:06 +0000 (07:35 +0000)
committerJohn Darrington <john@darrington.wattle.id.au>
Mon, 15 Dec 2003 07:35:06 +0000 (07:35 +0000)
src/groff-font.c
src/postscript.c

index 835869af8e2a12bda4a92a4d9e404d16355cee2c..d645b278433d52ad3a8b000eb0d30828ade274f4 100644 (file)
@@ -600,19 +600,20 @@ add_kern (struct font_desc *font, int ch1, int ch2, int adjust)
       for (i = 0; i < font->kern_size; i++)
        font->kern[i].ch1 = -1;
 
-      for (i = 0; i < old_kern_size; i++)
-       {
-         if (old_kern[i].ch1 == -1)
-           continue;
-
-         j = hash_kern (old_kern[i].ch1, old_kern[i].ch2) % font->kern_size;
-         while (font->kern[j].ch1 != -1)
-           if (0 == j--)
-             j = font->kern_size - 1;
-         font->kern[j] = old_kern[i];
-       }
-      if (old_kern)
+      if (old_kern) {
+       for (i = 0; i < old_kern_size; i++)
+         {
+           if (old_kern[i].ch1 == -1)
+             continue;
+
+           j = hash_kern (old_kern[i].ch1, old_kern[i].ch2) % font->kern_size;
+           while (font->kern[j].ch1 != -1)
+             if (0 == j--)
+               j = font->kern_size - 1;
+           font->kern[j] = old_kern[i];
+         }
        pool_free (font->owner, old_kern);
+      }
     }
 
   for (i = hash_kern (ch1, ch2) % font->kern_size; font->kern[i].ch1 != -1;)
index 16d02094133ecac1a8374b30e17cdc7a9a7f7891..dd1905d7023234979e3edd46976d022d7e991b5b 100644 (file)
@@ -955,8 +955,11 @@ output_encodings (struct outp_driver *this)
 
          while (ds_get_config_line (f, &buf, &where))
            {
-             char *sp;
-             
+             char *sp; 
+
+             if (buf.length == 0 ) 
+               continue;
+
              pschar = strtok_r (ds_value (&buf), " \t\r\n", &sp);
              code = strtok_r (NULL, " \t\r\n", &sp);
              if (*pschar == 0 || *code == 0)