diff options
author | Chet Ramey <chet.ramey@case.edu> | 2011-12-12 22:03:58 -0500 |
---|---|---|
committer | Chet Ramey <chet.ramey@case.edu> | 2011-12-12 22:03:58 -0500 |
commit | 5f8cde236aa72470a886bf8e7d8aaca32506d8dd (patch) | |
tree | 6472b60e768f40b20cac3c3da60ffea9d3cb26cb /pathexp.c | |
parent | 9ec5ed66405529e0d4d7edc5636c692e75edfccd (diff) | |
download | bash-5f8cde236aa72470a886bf8e7d8aaca32506d8dd.tar.gz |
commit bash-20100728 snapshot
Diffstat (limited to 'pathexp.c')
-rw-r--r-- | pathexp.c | 29 |
1 files changed, 29 insertions, 0 deletions
@@ -40,6 +40,7 @@ static int glob_name_is_acceptable __P((const char *)); static void ignore_globbed_names __P((char **, sh_ignore_func_t *)); +static char *split_ignorespec __P((char *, int *)); #if defined (USE_POSIX_GLOB_LIBRARY) # include <glob.h> @@ -428,6 +429,30 @@ ignore_glob_matches (names) ignore_globbed_names (names, glob_name_is_acceptable); } +static char * +split_ignorespec (s, ip) + char *s; + int *ip; +{ + char *t; + int n, i; + + if (s == 0) + return 0; + + i = *ip; + if (s[i] == 0) + return 0; + + n = skip_to_delim (s, i, ":", SD_NOJMP|SD_EXTGLOB); + t = substring (s, i, n); + + if (s[n] == ':') + n++; + *ip = n; + return t; +} + void setup_ignore_patterns (ivp) struct ignorevar *ivp; @@ -467,7 +492,11 @@ setup_ignore_patterns (ivp) numitems = maxitems = ptr = 0; +#if 0 while (colon_bit = extract_colon_unit (this_ignoreval, &ptr)) +#else + while (colon_bit = split_ignorespec (this_ignoreval, &ptr)) +#endif { if (numitems + 1 >= maxitems) { |