free(ex);
}
-void free_exclude_list(struct exclude_list_struct *listp)
+void clear_exclude_list(struct exclude_list_struct *listp)
{
struct exclude_struct *ent, *next;
/* Get the next include/exclude arg from the string. The token will not
* be '\0' terminated, so use the returned length to limit the string.
* Also, be sure to add this length to the returned pointer before passing
- * it back to ask for the next token. This routine will not parse the +/-
- * prefixes or the "!" token when xflags contains XFLG_WORDS_ONLY. The
- * *incl_ptr value will be 1 for an include, 0 for an exclude, and -1 for
- * the list-clearing "!" token.
+ * it back to ask for the next token. This routine parses the +/- prefixes
+ * and the "!" token unless xflags contains XFLG_WORDS_ONLY. The *flag_ptr
+ * value will also be set to the MATCHFLG_* bits for the current token.
*/
static const char *get_exclude_tok(const char *p, unsigned int *len_ptr,
unsigned int *flag_ptr, int xflags)
"[%s] clearing %sexclude list\n",
who_am_i(), listp->debug_type);
}
- free_exclude_list(listp);
+ clear_exclude_list(listp);
continue;
}
if (verbose > 2) {
rprintf(FINFO, "[%s] add_exclude(%.*s, %s%sclude)\n",
- who_am_i(), pat_len, cp, listp->debug_type,
+ who_am_i(), (int)pat_len, cp, listp->debug_type,
mflags & MATCHFLG_INCLUDE ? "in" : "ex");
}
}
{
FILE *fp;
char line[MAXPATHLEN+3]; /* Room for "x " prefix and trailing slash. */
- char *eob = line + MAXPATHLEN - 1;
+ char *eob = line + sizeof line - 1;
int word_split = xflags & XFLG_WORD_SPLIT;
if (!fname || !*fname)