PennMUSH 1.8.3p11
authorRick L Bird <nveid@yahoo.com>
Thu, 5 May 2011 22:21:13 +0000 (18:21 -0400)
committerRick L Bird <nveid@yahoo.com>
Thu, 5 May 2011 22:21:13 +0000 (18:21 -0400)
Author: captdeaf@gmail.com <captdeaf@gmail.com@ba372814-4f39-11de-9ad6-1127a62b9fcd>
Date:   Mon Oct 26 17:02:18 2009 +0000

    PennBug 127 - merge() eating characters.

Fixes #152

src/funstr.c

index 8604afc9da392313f785a7d9397debe521bd799e..713f9b226d08de55ffacfea21632d0f1df752c9e 100644 (file)
@@ -691,6 +691,7 @@ FUNCTION(fun_merge)
       safe_chr(*(ptr++), buff, bp);
       break;
     case TAG_START:
+    case TAG_END:
       while (*ptr && *ptr != TAG_END) {
         safe_chr(*(ptr++), buff, bp);
       }
@@ -702,22 +703,6 @@ FUNCTION(fun_merge)
         while (*ptr && matched[(unsigned char) *ptr]) {
           ptr++;
           j++;
-          switch (*ptr) {
-          case ESC_CHAR:
-            safe_ansi_string(as, i, j, buff, bp);
-            i += j;
-            j = 0;
-            while (*ptr && *ptr != 'm')
-              safe_chr(*(ptr++), buff, bp);
-            break;
-          case TAG_START:
-            safe_ansi_string(as, i, j, buff, bp);
-            i += j;
-            j = 0;
-            while (*ptr && *ptr != TAG_END)
-              safe_chr(*(ptr++), buff, bp);
-            break;
-          }
         }
         if (j != 0) {
           safe_ansi_string(as, i, j, buff, bp);
@@ -732,6 +717,7 @@ FUNCTION(fun_merge)
   free_ansi_string(as);
 }
 
+
 /* ARGSUSED */
 FUNCTION(fun_tr)
 {