/[tar]/tar/src/tar.c
ViewVC logotype

Diff of /tar/src/tar.c

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 1.57 by eggert, Sat Jul 5 08:18:46 2003 UTC revision 1.58 by gray, Sun Jul 27 12:01:59 2003 UTC
# Line 195  static struct option long_options[] = Line 195  static struct option long_options[] =
195    {"bzip2", no_argument, 0, 'j'},    {"bzip2", no_argument, 0, 'j'},
196    {"catenate", no_argument, 0, 'A'},    {"catenate", no_argument, 0, 'A'},
197    {"checkpoint", no_argument, 0, CHECKPOINT_OPTION},    {"checkpoint", no_argument, 0, CHECKPOINT_OPTION},
198      {"check-links", no_argument, &check_links_option, 1},
199    {"compare", no_argument, 0, 'd'},    {"compare", no_argument, 0, 'd'},
200    {"compress", no_argument, 0, 'Z'},    {"compress", no_argument, 0, 'Z'},
201    {"concatenate", no_argument, 0, 'A'},    {"concatenate", no_argument, 0, 'A'},
# Line 285  static struct option long_options[] = Line 286  static struct option long_options[] =
286    {"volno-file", required_argument, 0, VOLNO_FILE_OPTION},    {"volno-file", required_argument, 0, VOLNO_FILE_OPTION},
287    {"wildcards", no_argument, 0, WILDCARDS_OPTION},    {"wildcards", no_argument, 0, WILDCARDS_OPTION},
288    {"wildcards-match-slash", no_argument, 0, WILDCARDS_MATCH_SLASH_OPTION},    {"wildcards-match-slash", no_argument, 0, WILDCARDS_MATCH_SLASH_OPTION},
289      
290    {0, 0, 0, 0}    {0, 0, 0, 0}
291  };  };
292    
# Line 388  Device blocking:\n\ Line 389  Device blocking:\n\
389  Archive format selection:\n\  Archive format selection:\n\
390    -V, --label=NAME                   create archive with volume name NAME\n\    -V, --label=NAME                   create archive with volume name NAME\n\
391                PATTERN                at list/extract time, a globbing PATTERN\n\                PATTERN                at list/extract time, a globbing PATTERN\n\
392    -o, --old-archive, --portability   write a V7 format archive\n\        --old-archive, --portability   write a V7 format archive\n\
393        --posix                        write a POSIX format archive\n\        --posix                        write a POSIX format archive\n\
394    -j, --bzip2                        filter the archive through bzip2\n\    -j, --bzip2                        filter the archive through bzip2\n\
395    -z, --gzip, --ungzip               filter the archive through gzip\n\    -z, --gzip, --ungzip               filter the archive through gzip\n\
# Line 435  Informative output:\n\ Line 436  Informative output:\n\
436        --version         print tar program version number, then exit\n\        --version         print tar program version number, then exit\n\
437    -v, --verbose         verbosely list files processed\n\    -v, --verbose         verbosely list files processed\n\
438        --checkpoint      print directory names while reading the archive\n\        --checkpoint      print directory names while reading the archive\n\
439          --check-links     print a message if not all links are dumped\n\
440        --totals          print total bytes written while creating archive\n\        --totals          print total bytes written while creating archive\n\
441        --index-file=FILE send verbose output to FILE\n\        --index-file=FILE send verbose output to FILE\n\
442    -R, --block-number    show block number within archive with each message\n\    -R, --block-number    show block number within archive with each message\n\
# Line 443  Informative output:\n\ Line 445  Informative output:\n\
445               stdout);               stdout);
446        fputs (_("\        fputs (_("\
447  \n\  \n\
448    Compatibility options:\n\
449      -o                                 when creating, same as --old-archive\n\
450                                         when extracting, same as --no-same-owner\n"),
451                 stdout);
452          
453          fputs (_("\
454    \n\
455  The backup suffix is `~', unless set with --suffix or SIMPLE_BACKUP_SUFFIX.\n\  The backup suffix is `~', unless set with --suffix or SIMPLE_BACKUP_SUFFIX.\n\
456  The version control may be set with --backup or VERSION_CONTROL, values are:\n\  The version control may be set with --backup or VERSION_CONTROL, values are:\n\
457  \n\  \n\
# Line 508  decode_options (int argc, char **argv) Line 517  decode_options (int argc, char **argv)
517    char const *backup_suffix_string;    char const *backup_suffix_string;
518    char const *version_control_string = 0;    char const *version_control_string = 0;
519    int exclude_options = EXCLUDE_WILDCARDS;    int exclude_options = EXCLUDE_WILDCARDS;
520      int o_option = 0;
521      
522    /* Set some default option values.  */    /* Set some default option values.  */
523    
524    subcommand_option = UNKNOWN_SUBCOMMAND;    subcommand_option = UNKNOWN_SUBCOMMAND;
# Line 791  decode_options (int argc, char **argv) Line 801  decode_options (int argc, char **argv)
801  #endif /* not MSDOS */  #endif /* not MSDOS */
802    
803        case 'o':        case 'o':
804          if (archive_format == DEFAULT_FORMAT)          o_option = 1;
           archive_format = V7_FORMAT;  
         else if (archive_format != V7_FORMAT)  
           USAGE_ERROR ((0, 0, _("Conflicting archive format options")));  
805          break;          break;
806    
807        case 'O':        case 'O':
# Line 1165  decode_options (int argc, char **argv) Line 1172  decode_options (int argc, char **argv)
1172  #endif /* not DEVICE_PREFIX */  #endif /* not DEVICE_PREFIX */
1173        }        }
1174    
1175      /* Special handling for 'o' option:
1176    
1177         GNU tar used to say "output old format".
1178         UNIX98 tar says don't chown files after extracting (we use
1179         "--no-same-owner" for this).
1180    
1181         The old GNU tar semantics is retained when used with --create
1182         option, otherwise UNIX98 semantics is assumed */
1183    
1184      if (o_option)
1185        {
1186          if (subcommand_option == CREATE_SUBCOMMAND)
1187            {
1188              /* GNU Tar <= 1.13 compatibility */
1189              if (archive_format == DEFAULT_FORMAT)
1190                archive_format = V7_FORMAT;
1191              else if (archive_format != V7_FORMAT)
1192                USAGE_ERROR ((0, 0, _("Conflicting archive format options")));
1193            }
1194          else
1195            {
1196              /* UNIX98 compatibility */
1197              same_owner_option = 1;
1198            }
1199        }
1200    
1201    /* Handle operands after any "--" argument.  */    /* Handle operands after any "--" argument.  */
1202    for (; optind < argc; optind++)    for (; optind < argc; optind++)
1203      {      {
# Line 1396  main (int argc, char **argv) Line 1429  main (int argc, char **argv)
1429        break;        break;
1430      }      }
1431    
1432      if (check_links_option)
1433          check_links ();
1434    
1435    if (volno_file_option)    if (volno_file_option)
1436      closeout_volume_number ();      closeout_volume_number ();
1437    

Legend:
Removed from v.1.57  
changed lines
  Added in v.1.58

savannah-hackers-public@gnu.org
ViewVC Help
Powered by ViewVC 1.1.26