Java: Hopefully working HubListeners.
[doldaconnect.git] / daemon / search.c
index d16e5a0..7d22c37 100644 (file)
@@ -1,6 +1,6 @@
 /*
  *  Dolda Connect - Modular multiuser Direct Connect-style client
- *  Copyright (C) 2004 Fredrik Tolf (fredrik@dolda2000.com)
+ *  Copyright (C) 2004 Fredrik Tolf <fredrik@dolda2000.com>
  *  
  *  This program is free software; you can redistribute it and/or modify
  *  it under the terms of the GNU General Public License as published by
@@ -17,7 +17,6 @@
  *  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
 */
 #include <stdlib.h>
-#include <malloc.h>
 #include <wchar.h>
 #include <wctype.h>
 #include <errno.h>
@@ -396,10 +395,12 @@ static struct reinfo analyzere(wchar_t *re, wchar_t **endret, wchar_t endc)
            if(ret.begstr != NULL)
            {
                for(i = 0; (sinf.begstr[i] != L'\0') && (ret.begstr != L'\0') && (ret.begstr[i] == sinf.begstr[i]); i++);
-               if(i == 0)
+               if(i == 0) {
                    free(ret.begstr);
-               else
+                   ret.begstr = NULL;
+               } else {
                    ret.begstr[i] = L'\0';
+               }
            }
            free(sinf.begstr);
        } else {
@@ -424,10 +425,12 @@ static struct reinfo analyzere(wchar_t *re, wchar_t **endret, wchar_t endc)
                    maxlen = len1;
                }
                for(i = 1; (i <= minlen) && (ret.endstr[len1 - i] == sinf.endstr[len2 - i]); i++);
-               if(i == 1)
+               if(i == 1) {
                    free(ret.endstr);
-               else if(i <= maxlen)
+                   ret.endstr = NULL;
+               } else if(i <= maxlen) {
                    wmemmove(ret.endstr, ret.endstr + (len1 - i) + 1, i);
+               }
            }
            free(sinf.endstr);
        } else {