X-Git-Url: https://git.dogcows.com/gitweb?a=blobdiff_plain;f=src%2Fmisc.c;h=56c403c94055afab1f9078428ca1b5350d70eb98;hb=82e94dab6da1a6a22bafea07ab85f5aa14a68dd6;hp=8112ee8698dc8ba1e327aa96b94240db712b566b;hpb=31d9c7e2a4344d8f884c93dd4fb467894de69e99;p=chaz%2Ftar diff --git a/src/misc.c b/src/misc.c index 8112ee8..56c403c 100644 --- a/src/misc.c +++ b/src/misc.c @@ -598,6 +598,15 @@ close_warn (char const *name) call_arg_warn ("close", name); } +void +close_diag (char const *name) +{ + if (ignore_failed_read_option) + close_warn (name); + else + close_error (name); +} + void exec_fatal (char const *name) { @@ -648,6 +657,15 @@ open_warn (char const *name) call_arg_warn ("open", name); } +void +open_diag (char const *name) +{ + if (ignore_failed_read_option) + open_warn (name); + else + open_error (name); +} + void read_error (char const *name) { @@ -660,7 +678,9 @@ read_error_details (char const *name, off_t offset, size_t size) char buf[UINTMAX_STRSIZE_BOUND]; int e = errno; ERROR ((0, e, - _("%s: Read error at byte %s, reading %lu bytes"), + 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)); } @@ -671,11 +691,22 @@ read_warn_details (char const *name, off_t offset, size_t size) char buf[UINTMAX_STRSIZE_BOUND]; int e = errno; WARN ((0, e, - _("%s: Warning: Read error at byte %s, reading %lu bytes"), + ngettext ("%s: Warning: Read error at byte %s, reading %lu byte", + "%s: Warning: Read error at byte %s, 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) +{ + if (ignore_failed_read_option) + read_warn_details (name, offset, size); + else + read_error_details (name, offset, size); +} + void read_fatal (char const *name) { @@ -688,7 +719,9 @@ read_fatal_details (char const *name, off_t offset, size_t size) char buf[UINTMAX_STRSIZE_BOUND]; int e = errno; FATAL_ERROR ((0, e, - _("%s: Read error at byte %s, reading %lu bytes"), + 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)); } @@ -705,6 +738,15 @@ readlink_warn (char const *name) call_arg_warn ("readlink", name); } +void +readlink_diag (char const *name) +{ + if (ignore_failed_read_option) + readlink_warn (name); + else + readlink_error (name); +} + void savedir_error (char const *name) { @@ -717,6 +759,15 @@ savedir_warn (char const *name) call_arg_warn ("savedir", name); } +void +savedir_diag (char const *name) +{ + if (ignore_failed_read_option) + savedir_warn (name); + else + savedir_error (name); +} + void seek_error (char const *name) { @@ -749,6 +800,15 @@ seek_warn_details (char const *name, off_t offset) STRINGIFY_BIGINT (offset, buf))); } +void +seek_diag_details (char const *name, off_t offset) +{ + if (ignore_failed_read_option) + seek_warn_details (name, offset); + else + seek_error_details (name, offset); +} + void symlink_error (char const *contents, char const *name) { @@ -769,6 +829,15 @@ stat_warn (char const *name) call_arg_warn ("stat", name); } +void +stat_diag (char const *name) +{ + if (ignore_failed_read_option) + stat_warn (name); + else + stat_error (name); +} + void truncate_error (char const *name) { @@ -811,7 +880,10 @@ write_error_details (char const *name, ssize_t status, size_t size) if (status < 0) write_error (name); else - ERROR ((0, 0, _("%s: Wrote only %lu of %lu bytes"), + ERROR ((0, 0, + ngettext ("%s: Wrote only %lu of %lu byte", + "%s: Wrote only %lu of %lu bytes", + record_size), name, (unsigned long) status, (unsigned long) record_size)); }