chiark / gitweb /
@@ -1,9 +1,11 @@
[userv.git] / parser.c
index 01b770e0bab9d15fa51a76642a7f5806ab9a1fe4..0d1054ff29ae454f92474e6711e711549a4ab0e6 100644 (file)
--- a/parser.c
+++ b/parser.c
@@ -370,6 +370,7 @@ static int paa_message(const char **message_r) {
   /* Returned value is invalidated by repeated calls. */
   static char *buildbuf;
   static int buildbuflen;
   /* Returned value is invalidated by repeated calls. */
   static char *buildbuf;
   static int buildbuflen;
+  const char *usetext;
 
   int r, tl;
 
 
   int r, tl;
 
@@ -384,9 +385,10 @@ static int paa_message(const char **message_r) {
       return tokv_error;
     }
     if (r == tokv_newline) break;
       return tokv_error;
     }
     if (r == tokv_newline) break;
-    tl+= strlen(yytext);
+    usetext= r == tokv_lwsp ? " " : yytext;
+    tl+= strlen(usetext);
     if (makeroom(&buildbuf,&buildbuflen,tl)) return stringoverflow("message");
     if (makeroom(&buildbuf,&buildbuflen,tl)) return stringoverflow("message");
-    strcat(buildbuf,yytext);
+    strcat(buildbuf,usetext);
   }
   *message_r= buildbuf;
   return 0;
   }
   *message_r= buildbuf;
   return 0;