X-Git-Url: https://git.dogcows.com/gitweb?a=blobdiff_plain;f=src%2Fincremen.c;h=e549bbd312a43529ead17d1e0d28a86223f479df;hb=da06935f6ea4d2c248c01486adae98adb020dd42;hp=d850b68620c7c6d3196e2cb681b63c99e834414c;hpb=47da28892e6860a3a6fc06745f640e3bb878c757;p=chaz%2Ftar diff --git a/src/incremen.c b/src/incremen.c index d850b68..e549bbd 100644 --- a/src/incremen.c +++ b/src/incremen.c @@ -1,6 +1,6 @@ /* GNU dump extensions to tar. - Copyright 1988, 1992-1994, 1996-1997, 1999-2001, 2003-2009, 2013 + Copyright 1988, 1992-1994, 1996-1997, 1999-2001, 2003-2009, 2013-2014 Free Software Foundation, Inc. This file is part of GNU tar. @@ -734,6 +734,8 @@ scan_directory (struct tar_stat_info *st) if (! dirp) savedir_error (dir); + info_attach_exclist (st); + tmp = xstrdup (dir); zap_slashes (tmp); @@ -762,7 +764,7 @@ scan_directory (struct tar_stat_info *st) if (*entry == 'I') /* Ignored entry */ *entry = 'N'; - else if (excluded_name (full_name)) + else if (excluded_name (full_name, st)) *entry = 'N'; else { @@ -1153,11 +1155,14 @@ read_num (FILE *fp, char const *fieldname, } if (c) - FATAL_ERROR ((0, 0, - _("%s: byte %s: %s %s followed by invalid byte 0x%02x"), - quotearg_colon (listed_incremental_option), - offtostr (ftello (fp), offbuf), - fieldname, buf, c)); + { + unsigned uc = c; + FATAL_ERROR ((0, 0, + _("%s: byte %s: %s %s followed by invalid byte 0x%02x"), + quotearg_colon (listed_incremental_option), + offtostr (ftello (fp), offbuf), + fieldname, buf, uc)); + } *pval = strtosysint (buf, NULL, min_val, max_val); conversion_errno = errno; @@ -1539,9 +1544,10 @@ dumpdir_ok (char *dumpdir) { if (expect && *p != expect) { + unsigned char uc = *p; ERROR ((0, 0, _("Malformed dumpdir: expected '%c' but found %#3o"), - expect, *p)); + expect, uc)); return false; } switch (*p)