Date: Thu Apr 3 23:00:00 UTC 2014 From: tbehrens@suse.com Don't clobber include/exclude pattern lists by in2ex/ex2in's chopping off path prefixes. --- zip.c~ 2008-07-05 18:34:06.000000000 +0200 +++ zip.c 2014-04-03 22:38:36.855065116 +0200 @@ -3217,9 +3217,14 @@ /* if nothing matches include list then still create an empty archive */ allow_empty_archive = 1; case 'x': /* Exclude following files */ + { + int old_pathput = pathput; + pathput = 1; add_filter((int) option, value); + pathput = old_pathput; free(value); break; + } #ifdef S_IFLNK case 'y': /* Store symbolic links as such */ linkput = 1; break; @@ -3322,8 +3327,11 @@ /* just ignore as just marks what follows as non-option arguments */ } else if (kk == 6) { + int old_pathput = pathput; + pathput = 1; /* value is R pattern */ add_filter((int)'R', value); + pathput = old_pathput; free(value); if (first_listarg == 0) { first_listarg = argnum; @@ -3387,8 +3395,11 @@ { kk = 4; if (recurse == 2) { + int old_pathput = pathput; + pathput = 1; /* reading patterns from stdin */ add_filter((int)'R', pp); + pathput = old_pathput; } else { /* file argument now processed later */ add_name(pp);