Diff for /libaitwww/src/aitwww.c between versions 1.1.1.1 and 1.1.1.1.2.2

version 1.1.1.1, 2012/03/08 23:40:21 version 1.1.1.1.2.2, 2012/03/09 10:03:21
Line 235  www_parseQuery(const char *str) Line 235  www_parseQuery(const char *str)
         }          }
   
         free(base);          free(base);
        return 0;        return cgi;
 }  }
   
 /*  /*
Line 257  www_getValue(cgi_t * __restrict cgi, const char *name) Line 257  www_getValue(cgi_t * __restrict cgi, const char *name)
   
         SLIST_FOREACH(t, cgi, cgi_node)          SLIST_FOREACH(t, cgi, cgi_node)
                 if (t->cgi_name && !strcmp(name, t->cgi_name))                  if (t->cgi_name && !strcmp(name, t->cgi_name))
                        break;                        return t->cgi_value;
   
        return t->cgi_value;        return NULL;
 }  }
   
 /*  /*
Line 307  www_addValue(cgi_t * __restrict cgi, const char *name, Line 307  www_addValue(cgi_t * __restrict cgi, const char *name,
         if (value)          if (value)
                 tmp->cgi_value = strdup(value);                  tmp->cgi_value = strdup(value);
   
        SLIST_INSERT_AFTER(t, tmp, cgi_node);        if (!t)
                 SLIST_INSERT_HEAD(cgi, tmp, cgi_node);
         else
                 SLIST_INSERT_AFTER(t, tmp, cgi_node);
         return 0;          return 0;
 }  }
   
Line 321  www_addValue(cgi_t * __restrict cgi, const char *name, Line 324  www_addValue(cgi_t * __restrict cgi, const char *name,
 int  int
 www_delPair(cgi_t * __restrict cgi, const char *name)  www_delPair(cgi_t * __restrict cgi, const char *name)
 {  {
        struct tagCGI *t;        struct tagCGI *t, *tmp;
   
         if (!cgi || !name) {          if (!cgi || !name) {
                 www_SetErr(EINVAL, "Invalid argument(s)");                  www_SetErr(EINVAL, "Invalid argument(s)");
Line 329  www_delPair(cgi_t * __restrict cgi, const char *name) Line 332  www_delPair(cgi_t * __restrict cgi, const char *name)
         }          }
   
         /* search for delete */          /* search for delete */
        SLIST_FOREACH(t, cgi, cgi_node)        SLIST_FOREACH_SAFE(t, cgi, cgi_node, tmp)
                 if (t->cgi_name && !strcmp(name, t->cgi_name)) {                  if (t->cgi_name && !strcmp(name, t->cgi_name)) {
                         SLIST_REMOVE(cgi, t, tagCGI, cgi_node);                          SLIST_REMOVE(cgi, t, tagCGI, cgi_node);
   
                           if (t->cgi_name)
                                   free(t->cgi_name);
                           if (t->cgi_value)
                                   free(t->cgi_value);
                           free(t);
                         return 1;                          return 1;
                 }                  }
   

Removed from v.1.1.1.1  
changed lines
  Added in v.1.1.1.1.2.2


FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>