diff options
author | Sergey Poznyakoff <gray@gnu.org.ua> | 2010-11-15 11:22:27 +0200 |
---|---|---|
committer | Sergey Poznyakoff <gray@gnu.org.ua> | 2010-11-15 11:22:27 +0200 |
commit | 73d0d1a0f883be5f67534362c99382f1eae8d178 (patch) | |
tree | 505ea36b171cbc2bd410c89bb19baaf2cc6b30bd | |
parent | ff2bc5c0a119db60015052ec1f781dcac9d276ae (diff) | |
download | tar-73d0d1a0f883be5f67534362c99382f1eae8d178.tar.gz |
Issue a warning if the archive being compared contais transformed file names.
* src/common.h (transform_program_p): New proto.
* src/transform.c (transform_program_p): New function.
* src/compare.c (verify_volume): Warn if the archive contains
transformed file names.
-rw-r--r-- | src/common.h | 1 | ||||
-rw-r--r-- | src/compare.c | 13 | ||||
-rw-r--r-- | src/transform.c | 6 |
3 files changed, 18 insertions, 2 deletions
diff --git a/src/common.h b/src/common.h index 69097b3f..35e056ed 100644 --- a/src/common.h +++ b/src/common.h @@ -779,6 +779,7 @@ void set_transform_expr (const char *expr); bool transform_name (char **pinput, int type); bool transform_name_fp (char **pinput, int type, char *(*fun)(char *, void *), void *); +bool transform_program_p (void); /* Module suffix.c */ void set_compression_program_by_suffix (const char *name, const char *defprog); diff --git a/src/compare.c b/src/compare.c index f3112c6d..91ced570 100644 --- a/src/compare.c +++ b/src/compare.c @@ -512,14 +512,23 @@ diff_archive (void) void verify_volume (void) { + int may_fail = 0; if (removed_prefixes_p ()) { WARN((0, 0, _("Archive contains file names with leading prefixes removed."))); + may_fail = 1; + } + if (transform_program_p ()) + { WARN((0, 0, - _("Verification may fail to locate original files."))); + _("Archive contains transformed file names."))); + may_fail = 1; } - + if (may_fail) + WARN((0, 0, + _("Verification may fail to locate original files."))); + if (!diff_buffer) diff_init (); diff --git a/src/transform.c b/src/transform.c index c35133fa..77aa0a29 100644 --- a/src/transform.c +++ b/src/transform.c @@ -628,3 +628,9 @@ transform_name (char **pinput, int type) { return transform_name_fp (pinput, type, NULL, NULL); } + +bool +transform_program_p (void) +{ + return transform_head != NULL; +} |