Rocco Rutte:
authorpdmef <pdmef@e385b8ad-14ed-0310-8656-cc95a2468c6d>
Thu, 24 Mar 2005 00:26:31 +0000 (00:26 +0000)
committerpdmef <pdmef@e385b8ad-14ed-0310-8656-cc95a2468c6d>
Thu, 24 Mar 2005 00:26:31 +0000 (00:26 +0000)
get config.h in lib/rx.c to get right regex_t size (caused segfaults)

git-svn-id: svn://svn.berlios.de/mutt-ng/trunk@230 e385b8ad-14ed-0310-8656-cc95a2468c6d

lib/rx.c

index 1330af8..168a3fe 100644 (file)
--- a/lib/rx.c
+++ b/lib/rx.c
@@ -4,16 +4,20 @@
  * please see the file GPL in the top level source directory.
  */
 
+#if HAVE_CONFIG_H
+#include "config.h"
+#endif
+
 #include "rx.h"
 
 #include "mem.h"
 #include "str.h"
 
 rx_t *rx_compile (const char *s, int flags) {
-  rx_t *pp = safe_calloc (sizeof (rx_t), 1);
+  rx_t *pp = safe_calloc (1, sizeof (rx_t));
 
   pp->pattern = safe_strdup (s);
-  pp->rx = safe_calloc (sizeof (regex_t), 1);
+  pp->rx = safe_calloc (1, sizeof (regex_t));
   if (REGCOMP(pp->rx, NONULL (s), flags) != 0)
     rx_free (&pp);
 
@@ -33,7 +37,7 @@ int rx_compare (const rx_t* r1, const rx_t* r2) {
 
 int rx_list_match (list2_t* l, const char* pat) {
   int i = 0;
-  if (!pat || list_empty(l))
+  if (!pat || !*pat || list_empty(l))
     return (0);
   for (i = 0; i < l->length; i++)
     if (REGEXEC(((rx_t*) l->data[i])->rx, pat) == 0)