match() was broken IssueID #96
authorRick L Bird <nveid@yahoo.com>
Fri, 22 Apr 2011 21:03:08 +0000 (17:03 -0400)
committerRick L Bird <nveid@yahoo.com>
Fri, 22 Apr 2011 21:03:08 +0000 (17:03 -0400)
PennMUSH Enhancement 1.8.4p9

src/chunk.c
src/db.c
src/funlist.c

index 1098f2990dab47f836da1520a9f0ad99771f742a..5000414094832b5c6ff0b56e5590ffb608e0a178 100644 (file)
 #include "config.h"
 #include "conf.h"
 
+#define _XOPEN_SOURCE 600
 #include <limits.h>
 #include <string.h>
 #include <stdlib.h>
 
-#define _XOPEN_SOURCE 600
 #include <stdarg.h>
 #include <fcntl.h>
 #include <assert.h>
index b430c23d5fe4d5d52ca988b18ea090e8167632d3..c0de75071c257203eaee8d05bf87ac4477bcac06 100644 (file)
--- a/src/db.c
+++ b/src/db.c
@@ -21,8 +21,8 @@
 #include <time.h>
 #endif
 #include <stdlib.h>
-#include <stdarg.h>
 #include <errno.h>
+#include <stdarg.h>
 #include <ltdl.h>
 #include "conf.h"
 #include "dbio.h"
@@ -2445,6 +2445,7 @@ penn_fputs(const char *s, PENNFILE *f)
 #ifdef HAVE_LIBZ
     OUTPUT(gzputs(f->handle.g, s));
 #endif
+    break;
   }
   return 0;
 }
index 9bfc1327ca4d3015cdfd936e602384f93fc9281b..56c8c3f2c8107625e6a29df8a369cca23bd9a039 100644 (file)
@@ -1601,16 +1601,16 @@ FUNCTION(fun_match)
   char *s, *r;
   char sep;
   int wcount = 1;
-  size_t len;
-  char needle[BUFFER_LEN];
+  char needle[BUFFER_LEN], haystack[BUFFER_LEN];
 
   if (!delim_check(buff, bp, nargs, args, 3, &sep))
     return;
 
-  strncpy(needle, remove_markup(args[1], &len), BUFFER_LEN);
+  strncpy(haystack, remove_markup(args[0], NULL), BUFFER_LEN);
+  strncpy(needle, remove_markup(args[1], NULL), BUFFER_LEN);
 
   /* Walk the wordstring, until we find the word we want. */
-  s = trim_space_sep(remove_markup(args[0], &len), sep);
+  s = trim_space_sep(haystack, sep);
   do {
     r = split_token(&s, sep);
     if (quick_wild(needle, r)) {