X-Git-Url: https://git.dogcows.com/gitweb?a=blobdiff_plain;f=src%2Flist.c;h=c58eae41b44f082b2c5ac03938c5540297c1a0f8;hb=d8f0da985a992dfb704e0ebf611458c28e29e272;hp=a6109ff5f9b812ce759aabef97e497b89f26e5ba;hpb=bc88be110bc8d49c4e8ec5530b8238607afdb1fc;p=chaz%2Ftar diff --git a/src/list.c b/src/list.c index a6109ff..c58eae4 100644 --- a/src/list.c +++ b/src/list.c @@ -70,7 +70,7 @@ read_and (void (*do_something) ()) if (!name_match (current_file_name) || current_stat.st_mtime < newer_mtime_option - || (exclude_option && check_exclude (current_file_name))) + || excluded_pathname (excluded, current_file_name)) { int isextended = 0; @@ -507,7 +507,7 @@ decode_header (union block *header, struct stat *stat_info, } switch (header->header.typeflag) { -#ifdef S_IFBLK +#ifdef S_ISBLK case BLKTYPE: stat_info->st_rdev = makedev (MAJOR_FROM_OCT (header->header.devmajor), @@ -515,7 +515,7 @@ decode_header (union block *header, struct stat *stat_info, break; #endif -#ifdef S_IFCHR +#ifdef S_ISCHR case CHRTYPE: stat_info->st_rdev = makedev (MAJOR_FROM_OCT (header->header.devmajor), @@ -577,12 +577,14 @@ from_oct (const char *where0, size_t digs0, const char *type, uintmax_t maxval) if (!o) { o = clone_quoting_options ((struct quoting_options *) 0); - set_quoting_style (o, escape_quoting_style); + set_quoting_style (o, c_quoting_style); } - quotearg_buffer (buf, sizeof buf, where0, digs0, o); + for (digs = digs0; digs && ! where0[digs - 1]; digs--) + continue; + quotearg_buffer (buf, sizeof buf, where0, digs, o); ERROR ((0, 0, - _("Header contains \"%.*s\" where octal %s value expected"), + _("Header contains %.*s where octal %s value expected"), (int) sizeof buf, buf, type)); } @@ -872,7 +874,7 @@ print_header (void) switch (current_header->header.typeflag) { -#if defined(S_IFBLK) || defined(S_IFCHR) +#if defined S_ISBLK || defined S_ISCHR case CHRTYPE: case BLKTYPE: sprintf (size, "%lu,%lu",