[BACK]Return to match.c CVS log [TXT][DIR] Up to [local] / src / usr.bin / ssh

Diff for /src/usr.bin/ssh/match.c between version 1.33 and 1.34

version 1.33, 2016/11/06 05:46:37 version 1.34, 2017/02/03 23:01:19
Line 282 
Line 282 
         free(s);          free(s);
         return NULL;          return NULL;
 }  }
   
   /*
    * Filters a comma-separated list of strings, excluding any entry matching
    * the 'filter' pattern list. Caller must free returned string.
    */
   char *
   match_filter_list(const char *proposal, const char *filter)
   {
           size_t len = strlen(proposal) + 1;
           char *fix_prop = malloc(len);
           char *orig_prop = strdup(proposal);
           char *cp, *tmp;
   
           if (fix_prop == NULL || orig_prop == NULL)
                   return NULL;
   
           tmp = orig_prop;
           *fix_prop = '\0';
           while ((cp = strsep(&tmp, ",")) != NULL) {
                   if (match_pattern_list(cp, filter, 0) != 1) {
                           if (*fix_prop != '\0')
                                   strlcat(fix_prop, ",", len);
                           strlcat(fix_prop, cp, len);
                   }
           }
           free(orig_prop);
           return fix_prop;
   }
   

Legend:
Removed from v.1.33  
changed lines
  Added in v.1.34