I've investigated the problem and found out that the problem is that lines
longer than 1024 symbols are truncated. One solution to this is to split
such a line into several using `\' character.

I'm sending a patch solving this problem. With the patch applied, line
length is constrained only by PARSERULE_SIZE, which is 8192 symbols.

-- 
/Dmitry <[EMAIL PROTECTED]>
--- src/parser.c        2005-03-11 10:34:08.000000000 +1300
+++ /home/dmaks/parser.c        2006-07-13 16:52:34.000000000 +1200
@@ -328,9 +328,13 @@
 int ContinuationCheck(char *rule)
 {
     char *idx;  /* indexing var for moving around on the string */
+    bool got_eol = false;
 
     idx = rule + strlen(rule) - 1;
 
+    if (*idx != '\n')
+       got_eol = true;
+
     DEBUG_WRAP(DebugMessage(DEBUG_CONFIGRULES,"initial idx set to \'%c\'\n", 
                 *idx););
 
@@ -349,6 +353,9 @@
         return 1;
     }
 
+    if (got_eol)
+       return 1;
+
     return 0;
 }
 

Reply via email to