From: Sergey Poznyakoff Date: Thu, 19 May 2005 15:34:19 +0000 (+0000) Subject: Remove defines and declarations imported from paxutils X-Git-Url: https://git.dogcows.com/gitweb?a=commitdiff_plain;h=5c35fdb275b519373e6eb34621d956d09a52bf31;p=chaz%2Ftar Remove defines and declarations imported from paxutils --- diff --git a/src/common.h b/src/common.h index ce11d65..79da31d 100644 --- a/src/common.h +++ b/src/common.h @@ -50,31 +50,10 @@ # define GLOBAL extern #endif -/* Exit status for GNU tar. Let's try to keep this list as simple as - possible. -d option strongly invites a status different for unequal - comparison and other errors. */ -GLOBAL int exit_status; - -#define TAREXIT_SUCCESS 0 -#define TAREXIT_DIFFERS 1 -#define TAREXIT_FAILURE 2 - -/* Both WARN and ERROR write a message on stderr and continue processing, - however ERROR manages so tar will exit unsuccessfully. FATAL_ERROR - writes a message on stderr and aborts immediately, with another message - line telling so. USAGE_ERROR works like FATAL_ERROR except that the - other message line suggests trying --help. All four macros accept a - single argument of the form ((0, errno, _("FORMAT"), Args...)). errno - is zero when the error is not being detected by the system. */ - -#define WARN(Args) \ - error Args -#define ERROR(Args) \ - (error Args, exit_status = TAREXIT_FAILURE) -#define FATAL_ERROR(Args) \ - (error Args, fatal_exit ()) -#define USAGE_ERROR(Args) \ - (error Args, usage (TAREXIT_FAILURE)) +#define TAREXIT_SUCCESS PAXEXIT_SUCCESS +#define TAREXIT_DIFFERS PAXEXIT_DIFFERS +#define TAREXIT_FAILURE PAXEXIT_FAILURE + #include "arith.h" #include @@ -88,6 +67,8 @@ GLOBAL int exit_status; #define obstack_chunk_free free #include +#include + /* Log base 2 of common values. */ #define LG_8 3 #define LG_64 6 @@ -444,7 +425,6 @@ void verify_volume (void); void extr_init (void); void extract_archive (void); void extract_finish (void); -void fatal_exit (void) __attribute__ ((noreturn)); /* Module delete.c. */ @@ -484,9 +464,6 @@ extern size_t recent_long_link_blocks; void decode_header (union block *, struct tar_stat_info *, enum archive_format *, int); -#define STRINGIFY_BIGINT(i, b) \ - stringify_uintmax_t_backwards ((uintmax_t) (i), (b) + UINTMAX_STRSIZE_BOUND) -char *stringify_uintmax_t_backwards (uintmax_t, char *); char const *tartime (time_t); #define GID_FROM_HEADER(where) gid_from_header (where, sizeof (where)) @@ -553,51 +530,13 @@ int deref_stat (bool, char const *, struct stat *); int chdir_arg (char const *); void chdir_do (int); -void decode_mode (mode_t, char *); - -void chdir_fatal (char const *) __attribute__ ((noreturn)); -void chmod_error_details (char const *, mode_t); -void chown_error_details (char const *, uid_t, gid_t); -void close_error (char const *); -void close_warn (char const *); void close_diag (char const *name); -void exec_fatal (char const *) __attribute__ ((noreturn)); -void link_error (char const *, char const *); -void mkdir_error (char const *); -void mkfifo_error (char const *); -void mknod_error (char const *); -void open_error (char const *); -void open_fatal (char const *) __attribute__ ((noreturn)); -void open_warn (char const *); void open_diag (char const *name); -void read_error (char const *); -void read_error_details (char const *, off_t, size_t); -void read_fatal (char const *) __attribute__ ((noreturn)); -void read_fatal_details (char const *, off_t, size_t) __attribute__ ((noreturn)); -void read_warn_details (char const *, off_t, size_t); void read_diag_details (char const *name, off_t offset, size_t size); -void readlink_error (char const *); -void readlink_warn (char const *); void readlink_diag (char const *name); -void savedir_error (char const *); -void savedir_warn (char const *); void savedir_diag (char const *name); -void seek_error (char const *); -void seek_error_details (char const *, off_t); -void seek_warn (char const *); -void seek_warn_details (char const *, off_t); void seek_diag_details (char const *, off_t); -void stat_fatal (char const *); -void stat_error (char const *); -void stat_warn (char const *); void stat_diag (char const *name); -void symlink_error (char const *, char const *); -void truncate_error (char const *); -void truncate_warn (char const *); -void unlink_error (char const *); -void utime_error (char const *); -void waitpid_error (char const *); -void write_error (char const *); void write_error_details (char const *, size_t, size_t); void write_fatal (char const *) __attribute__ ((noreturn)); void write_fatal_details (char const *, ssize_t, size_t) diff --git a/src/list.c b/src/list.c index 65e73a5..e56e7dc 100644 --- a/src/list.c +++ b/src/list.c @@ -920,18 +920,6 @@ uintmax_from_header (const char *p, size_t s) } -/* Format O as a null-terminated decimal string into BUF _backwards_; - return pointer to start of result. */ -char * -stringify_uintmax_t_backwards (uintmax_t o, char *buf) -{ - *--buf = '\0'; - do - *--buf = '0' + (int) (o % 10); - while ((o /= 10) != 0); - return buf; -} - /* Return a printable representation of T. The result points to static storage that can be reused in the next call to this function, to ctime, or to asctime. */ @@ -1092,7 +1080,7 @@ print_header (struct tar_stat_info *st, off_t block_ordinal) break; } - decode_mode (st->stat.st_mode, modes + 1); + pax_decode_mode (st->stat.st_mode, modes + 1); /* Time stamp. */ @@ -1251,7 +1239,7 @@ print_for_mkdir (char *dirname, int length, mode_t mode) /* File type and modes. */ modes[0] = 'd'; - decode_mode (mode, modes + 1); + pax_decode_mode (mode, modes + 1); if (block_number_option) { diff --git a/src/misc.c b/src/misc.c index b8b48c5..2ba52a3 100644 --- a/src/misc.c +++ b/src/misc.c @@ -24,8 +24,6 @@ #include #include -static void call_arg_fatal (char const *, char const *) - __attribute__ ((noreturn)); /* Handling strings. */ @@ -523,105 +521,6 @@ chdir_do (int i) } } -/* Decode MODE from its binary form in a stat structure, and encode it - into a 9-byte string STRING, terminated with a NUL. */ - -void -decode_mode (mode_t mode, char *string) -{ - *string++ = mode & S_IRUSR ? 'r' : '-'; - *string++ = mode & S_IWUSR ? 'w' : '-'; - *string++ = (mode & S_ISUID - ? (mode & S_IXUSR ? 's' : 'S') - : (mode & S_IXUSR ? 'x' : '-')); - *string++ = mode & S_IRGRP ? 'r' : '-'; - *string++ = mode & S_IWGRP ? 'w' : '-'; - *string++ = (mode & S_ISGID - ? (mode & S_IXGRP ? 's' : 'S') - : (mode & S_IXGRP ? 'x' : '-')); - *string++ = mode & S_IROTH ? 'r' : '-'; - *string++ = mode & S_IWOTH ? 'w' : '-'; - *string++ = (mode & S_ISVTX - ? (mode & S_IXOTH ? 't' : 'T') - : (mode & S_IXOTH ? 'x' : '-')); - *string = '\0'; -} - -/* Report an error associated with the system call CALL and the - optional name NAME. */ -static void -call_arg_error (char const *call, char const *name) -{ - int e = errno; - /* TRANSLATORS: %s after `Cannot' is a function name, e.g. `Cannot open'. - Directly translating this to another language will not work, first because - %s itself is not translated. - Translate it as `%s: Function %s failed'. */ - ERROR ((0, e, _("%s: Cannot %s"), quotearg_colon (name), call)); -} - -/* Report a fatal error associated with the system call CALL and - the optional file name NAME. */ -static void -call_arg_fatal (char const *call, char const *name) -{ - int e = errno; - /* TRANSLATORS: %s after `Cannot' is a function name, e.g. `Cannot open'. - Directly translating this to another language will not work, first because - %s itself is not translated. - Translate it as `%s: Function %s failed'. */ - FATAL_ERROR ((0, e, _("%s: Cannot %s"), quotearg_colon (name), call)); -} - -/* Report a warning associated with the system call CALL and - the optional file name NAME. */ -static void -call_arg_warn (char const *call, char const *name) -{ - int e = errno; - /* TRANSLATORS: %s after `Cannot' is a function name, e.g. `Cannot open'. - Directly translating this to another language will not work, first because - %s itself is not translated. - Translate it as `%s: Function %s failed'. */ - WARN ((0, e, _("%s: Warning: Cannot %s"), quotearg_colon (name), call)); -} - -void -chdir_fatal (char const *name) -{ - call_arg_fatal ("chdir", name); -} - -void -chmod_error_details (char const *name, mode_t mode) -{ - int e = errno; - char buf[10]; - decode_mode (mode, buf); - ERROR ((0, e, _("%s: Cannot change mode to %s"), - quotearg_colon (name), buf)); -} - -void -chown_error_details (char const *name, uid_t uid, gid_t gid) -{ - int e = errno; - ERROR ((0, e, _("%s: Cannot change ownership to uid %lu, gid %lu"), - quotearg_colon (name), (unsigned long) uid, (unsigned long) gid)); -} - -void -close_error (char const *name) -{ - call_arg_error ("close", name); -} - -void -close_warn (char const *name) -{ - call_arg_warn ("close", name); -} - void close_diag (char const *name) { @@ -631,56 +530,6 @@ close_diag (char const *name) close_error (name); } -void -exec_fatal (char const *name) -{ - call_arg_fatal ("exec", name); -} - -void -link_error (char const *target, char const *source) -{ - int e = errno; - ERROR ((0, e, _("%s: Cannot hard link to %s"), - quotearg_colon (source), quote_n (1, target))); -} - -void -mkdir_error (char const *name) -{ - call_arg_error ("mkdir", name); -} - -void -mkfifo_error (char const *name) -{ - call_arg_error ("mkfifo", name); -} - -void -mknod_error (char const *name) -{ - call_arg_error ("mknod", name); -} - -void -open_error (char const *name) -{ - call_arg_error ("open", name); -} - -void -open_fatal (char const *name) -{ - call_arg_fatal ("open", name); -} - -void -open_warn (char const *name) -{ - call_arg_warn ("open", name); -} - void open_diag (char const *name) { @@ -690,38 +539,6 @@ open_diag (char const *name) open_error (name); } -void -read_error (char const *name) -{ - call_arg_error ("read", name); -} - -void -read_error_details (char const *name, off_t offset, size_t size) -{ - char buf[UINTMAX_STRSIZE_BOUND]; - int e = errno; - ERROR ((0, e, - ngettext ("%s: Read error at byte %s, while reading %lu byte", - "%s: Read error at byte %s, while reading %lu bytes", - size), - quotearg_colon (name), STRINGIFY_BIGINT (offset, buf), - (unsigned long) size)); -} - -void -read_warn_details (char const *name, off_t offset, size_t size) -{ - char buf[UINTMAX_STRSIZE_BOUND]; - int e = errno; - WARN ((0, e, - ngettext ("%s: Warning: Read error at byte %s, while reading %lu byte", - "%s: Warning: Read error at byte %s, while reading %lu bytes", - size), - quotearg_colon (name), STRINGIFY_BIGINT (offset, buf), - (unsigned long) size)); -} - void read_diag_details (char const *name, off_t offset, size_t size) { @@ -731,37 +548,6 @@ read_diag_details (char const *name, off_t offset, size_t size) read_error_details (name, offset, size); } -void -read_fatal (char const *name) -{ - call_arg_fatal ("read", name); -} - -void -read_fatal_details (char const *name, off_t offset, size_t size) -{ - char buf[UINTMAX_STRSIZE_BOUND]; - int e = errno; - FATAL_ERROR ((0, e, - ngettext ("%s: Read error at byte %s, reading %lu byte", - "%s: Read error at byte %s, reading %lu bytes", - size), - quotearg_colon (name), STRINGIFY_BIGINT (offset, buf), - (unsigned long) size)); -} - -void -readlink_error (char const *name) -{ - call_arg_error ("readlink", name); -} - -void -readlink_warn (char const *name) -{ - call_arg_warn ("readlink", name); -} - void readlink_diag (char const *name) { @@ -771,18 +557,6 @@ readlink_diag (char const *name) readlink_error (name); } -void -savedir_error (char const *name) -{ - call_arg_error ("savedir", name); -} - -void -savedir_warn (char const *name) -{ - call_arg_warn ("savedir", name); -} - void savedir_diag (char const *name) { @@ -792,38 +566,6 @@ savedir_diag (char const *name) savedir_error (name); } -void -seek_error (char const *name) -{ - call_arg_error ("seek", name); -} - -void -seek_error_details (char const *name, off_t offset) -{ - char buf[UINTMAX_STRSIZE_BOUND]; - int e = errno; - ERROR ((0, e, _("%s: Cannot seek to %s"), - quotearg_colon (name), - STRINGIFY_BIGINT (offset, buf))); -} - -void -seek_warn (char const *name) -{ - call_arg_warn ("seek", name); -} - -void -seek_warn_details (char const *name, off_t offset) -{ - char buf[UINTMAX_STRSIZE_BOUND]; - int e = errno; - WARN ((0, e, _("%s: Warning: Cannot seek to %s"), - quotearg_colon (name), - STRINGIFY_BIGINT (offset, buf))); -} - void seek_diag_details (char const *name, off_t offset) { @@ -833,32 +575,6 @@ seek_diag_details (char const *name, off_t offset) seek_error_details (name, offset); } -void -symlink_error (char const *contents, char const *name) -{ - int e = errno; - ERROR ((0, e, _("%s: Cannot create symlink to %s"), - quotearg_colon (name), quote_n (1, contents))); -} - -void -stat_fatal (char const *name) -{ - call_arg_fatal ("stat", name); -} - -void -stat_error (char const *name) -{ - call_arg_error ("stat", name); -} - -void -stat_warn (char const *name) -{ - call_arg_warn ("stat", name); -} - void stat_diag (char const *name) { @@ -868,61 +584,6 @@ stat_diag (char const *name) stat_error (name); } -void -truncate_error (char const *name) -{ - call_arg_error ("truncate", name); -} - -void -truncate_warn (char const *name) -{ - call_arg_warn ("truncate", name); -} - -void -unlink_error (char const *name) -{ - call_arg_error ("unlink", name); -} - -void -utime_error (char const *name) -{ - call_arg_error ("utime", name); -} - -void -waitpid_error (char const *name) -{ - call_arg_error ("waitpid", name); -} - -void -write_error (char const *name) -{ - call_arg_error ("write", name); -} - -void -write_error_details (char const *name, size_t status, size_t size) -{ - if (status == 0) - write_error (name); - else - ERROR ((0, 0, - ngettext ("%s: Wrote only %lu of %lu byte", - "%s: Wrote only %lu of %lu bytes", - size), - name, (unsigned long int) status, (unsigned long int) size)); -} - -void -write_fatal (char const *name) -{ - call_arg_fatal ("write", name); -} - void write_fatal_details (char const *name, ssize_t status, size_t size) { @@ -930,7 +591,6 @@ write_fatal_details (char const *name, ssize_t status, size_t size) fatal_exit (); } - /* Fork, aborting if unsuccessful. */ pid_t xfork (void)