- List all AFs, with edit buttons
[privoxy.git] / urlmatch.c
index 28dd245..80a1842 100644 (file)
@@ -1,4 +1,4 @@
-const char urlmatch_rcs[] = "$Id: urlmatch.c,v 1.3 2002/03/03 14:51:11 oes Exp $";
+const char urlmatch_rcs[] = "$Id: urlmatch.c,v 1.8 2002/04/03 23:32:47 jongfoster Exp $";
 /*********************************************************************
  *
  * File        :  $Source: /cvsroot/ijbswa/current/urlmatch.c,v $
@@ -7,7 +7,7 @@ const char urlmatch_rcs[] = "$Id: urlmatch.c,v 1.3 2002/03/03 14:51:11 oes Exp $
  *                patterns.
  *
  * Copyright   :  Written by and Copyright (C) 2001 the SourceForge
- *                IJBSWA team.  http://ijbswa.sourceforge.net
+ *                Privoxy team. http://www.privoxy.org/
  *
  *                Based on the Internet Junkbuster originally written
  *                by and Copyright (C) 1997 Anonymous Coders and
@@ -33,6 +33,21 @@ const char urlmatch_rcs[] = "$Id: urlmatch.c,v 1.3 2002/03/03 14:51:11 oes Exp $
  *
  * Revisions   :
  *    $Log: urlmatch.c,v $
+ *    Revision 1.8  2002/04/03 23:32:47  jongfoster
+ *    Fixing memory leak on error
+ *
+ *    Revision 1.7  2002/03/26 22:29:55  swa
+ *    we have a new homepage!
+ *
+ *    Revision 1.6  2002/03/24 13:25:43  swa
+ *    name change related issues
+ *
+ *    Revision 1.5  2002/03/13 00:27:05  jongfoster
+ *    Killing warnings
+ *
+ *    Revision 1.4  2002/03/07 03:46:17  oes
+ *    Fixed compiler warnings
+ *
  *    Revision 1.3  2002/03/03 14:51:11  oes
  *    Fixed CLF logging: Added ocmd member for client's request to struct http_request
  *
@@ -608,7 +623,7 @@ jb_err create_url_spec(struct url_spec * url, const char * buf)
       return JB_ERR_MEMORY;
    }
 
-   if ((p = strchr(buf, '/')))
+   if ((p = strchr(buf, '/')) != NULL)
    {
       if (NULL == (url->path = strdup(p)))
       {
@@ -623,7 +638,6 @@ jb_err create_url_spec(struct url_spec * url, const char * buf)
       url->path    = NULL;
       url->pathlen = 0;
    }
-#ifdef REGEX
    if (url->path)
    {
       int errcode;
@@ -656,12 +670,12 @@ jb_err create_url_spec(struct url_spec * url, const char * buf)
 
          freez(url->spec);
          freez(url->path);
+         regfree(url->preg);
          freez(url->preg);
 
          return JB_ERR_PARSE;
       }
    }
-#endif
    if ((p = strchr(buf, ':')) == NULL)
    {
       url->port = 0;
@@ -694,9 +708,8 @@ jb_err create_url_spec(struct url_spec * url, const char * buf)
       {
          freez(url->spec);
          freez(url->path);
-#ifdef REGEX
+         regfree(url->preg);
          freez(url->preg);
-#endif /* def REGEX */
          return JB_ERR_MEMORY;
       }
 
@@ -713,9 +726,8 @@ jb_err create_url_spec(struct url_spec * url, const char * buf)
       {
          freez(url->spec);
          freez(url->path);
-#ifdef REGEX
+         regfree(url->preg);
          freez(url->preg);
-#endif /* def REGEX */
          freez(url->dbuffer);
          url->dcount = 0;
          return JB_ERR_MEMORY;
@@ -731,9 +743,8 @@ jb_err create_url_spec(struct url_spec * url, const char * buf)
          {
             freez(url->spec);
             freez(url->path);
-#ifdef REGEX
+            regfree(url->preg);
             freez(url->preg);
-#endif /* def REGEX */
             freez(url->dbuffer);
             url->dcount = 0;
             return JB_ERR_MEMORY;
@@ -769,14 +780,11 @@ void free_url_spec(struct url_spec *url)
    freez(url->dbuffer);
    freez(url->dvec);
    freez(url->path);
-#ifdef REGEX
    if (url->preg)
    {
       regfree(url->preg);
       freez(url->preg);
    }
-#endif
-
 }
 
 
@@ -799,11 +807,7 @@ int url_match(const struct url_spec *pattern,
    return ((pattern->port == 0) || (pattern->port == url->port))
        && ((pattern->dbuffer == NULL) || (domain_match(pattern, url) == 0))
        && ((pattern->path == NULL) ||
-#ifdef REGEX
             (regexec(pattern->preg, url->path, 0, NULL, 0) == 0)
-#else
-            (strncmp(pattern->path, url->path, pattern->pathlen) == 0)
-#endif
       );
 }