This patch from upstream SVN r137 fixes the problem.  I’ve attached a 
debdiff that adds this as a dpatch.

--- a/src/jmlib/patterns.cpp
+++ b/src/jmlib/patterns.cpp
@@ -127,9 +127,8 @@ int ParsePatterns(FILE *input,
                        group->next = NULL;
                } else if(sscanf(buf, "%%%255[^\n]",current_style) == 1) {
                        /* New Style */
-                       if(current_style && *current_style && styles->first) {
+                       if(current_style && *current_style) {
                                if(Find_Style(styles,current_style) != NULL) {
-                                       strcpy(current_style,"Normal\0");
                                        continue;
                                }
                        } else {
diff -u jugglemaster-0.4/debian/changelog jugglemaster-0.4/debian/changelog
--- jugglemaster-0.4/debian/changelog
+++ jugglemaster-0.4/debian/changelog
@@ -1,3 +1,10 @@
+jugglemaster (0.4-4) unstable; urgency=low
+
+  * jmlib_style_parsing.dpatch: Fix parsing of custom styles.
+    (Closes: #537503)
+
+ -- Anders Kaseorg <ande...@mit.edu>  Sun, 19 Jul 2009 02:11:47 -0400
+
 jugglemaster (0.4-3) unstable; urgency=low
 
   [ Barry deFreese ]
diff -u jugglemaster-0.4/debian/patches/00list 
jugglemaster-0.4/debian/patches/00list
--- jugglemaster-0.4/debian/patches/00list
+++ jugglemaster-0.4/debian/patches/00list
@@ -4,0 +5 @@
+jmlib_style_parsing.dpatch
only in patch2:
unchanged:
--- jugglemaster-0.4.orig/debian/patches/jmlib_style_parsing.dpatch
+++ jugglemaster-0.4/debian/patches/jmlib_style_parsing.dpatch
@@ -0,0 +1,21 @@
+#! /bin/sh /usr/share/dpatch/dpatch-run
+## jmlib_style_parsing.dpatch by Anders Kaseorg <ande...@mit.edu>
+##
+## All lines beginning with `## DP:' are a description of the patch.
+## DP: Fix parsing of custom styles.  From upstream SVN r137.
+
+...@dpatch@
+
+--- a/src/jmlib/patterns.cpp
++++ b/src/jmlib/patterns.cpp
+@@ -127,9 +127,8 @@ int ParsePatterns(FILE *input,
+                       group->next = NULL;
+               } else if(sscanf(buf, "%%%255[^\n]",current_style) == 1) {
+                       /* New Style */
+-                      if(current_style && *current_style && styles->first) {
++                      if(current_style && *current_style) {
+                               if(Find_Style(styles,current_style) != NULL) {
+-                                      strcpy(current_style,"Normal\0");
+                                       continue;
+                               }
+                       } else {

Reply via email to