Преглед на файлове

* Ported [2871] to 1.2.10
* Fixed a flaw with cmd_set lists (addresses #246)


svn: 2872

Bryan Drewery преди 20 години
родител
ревизия
6886cf2c15
променени са 1 файла, в които са добавени 4 реда и са изтрити 1 реда
  1. 4 1
      src/set.c

+ 4 - 1
src/set.c

@@ -600,9 +600,12 @@ static char *var_rem_list(const char *botnick, variable_t *var, const char *elem
 
   const char *delim = ",";
   int num = 0, i = 0;
+  size_t elen = 0;
 
   if (str_isdigit(element))
     num = atoi(element);
+  else
+    elen = strlen(element);
 
   olddata = olddatap = strdup(olddatacp);
   size_t tsiz = strlen(olddata) + 1;
@@ -612,7 +615,7 @@ static char *var_rem_list(const char *botnick, variable_t *var, const char *elem
   while ((word = strsep(&olddata, delim))) {
     ++i;
 
-    if ((num && num != i) || (!num && egg_strcasecmp(word, element))) {
+    if ((num && num != i) || (!num && egg_strncasecmp(word, element, elen))) {
       /* Reconstruct the left and right part of the list...*/
       if (data && data[0] && word && word[0])
         simple_snprintf(data, tsiz, "%s,%s", data, word);