PennMUSH 1.8.3p11
authorRick L Bird <nveid@yahoo.com>
Thu, 5 May 2011 21:20:42 +0000 (17:20 -0400)
committerRick L Bird <nveid@yahoo.com>
Thu, 5 May 2011 21:21:44 +0000 (17:21 -0400)
Author: captdeaf@gmail.com
<captdeaf@gmail.com@ba372814-4f39-11de-9ad6-1127a62b9fcd>
Date:   Wed Dec 16 05:26:17 2009 +0000

    Oops, forgot to change ' ' to sep in fun_remove.

Author: captdeaf@gmail.com
<captdeaf@gmail.com@ba372814-4f39-11de-9ad6-1127a62b9fcd>
Date:   Wed Dec 16 05:24:48 2009 +0000

    remove() now takes a list of words to delete.

Fixes #135

src/funlist.c

index 9d00179712bf0e4b129ce14043a56abcf64c7117..cbc73409bc36b817b2eab67b3e83cc7c55f715a6 100644 (file)
@@ -1731,22 +1731,29 @@ FUNCTION(fun_cat)
   }
 }
 
+
 /* ARGSUSED */
 FUNCTION(fun_remove)
 {
   char sep;
+  char lbuff[BUFFER_LEN];
+  char *r, *s;
 
   /* zap word from string */
 
   if (!delim_check(buff, bp, nargs, args, 3, &sep))
     return;
-  if (strchr(args[1], sep)) {
-    safe_str(T("#-1 CAN ONLY DELETE ONE ELEMENT"), buff, bp);
-    return;
+  r = lbuff;
+  safe_str(args[0], lbuff, &r);
+
+  s = args[1];
+  while ((r = split_token(&s, sep)) != NULL) {
+    memcpy(lbuff, remove_word(lbuff, r, sep), BUFFER_LEN);
   }
-  safe_str(remove_word(args[0], args[1], sep), buff, bp);
+  safe_str(lbuff, buff, bp);
 }
 
+
 /* ARGSUSED */
 FUNCTION(fun_items)
 {