summaryrefslogtreecommitdiff
path: root/libarchive/archive_write_set_format_ustar.c
diff options
context:
space:
mode:
authorMichihiro NAKAJIMA <ggcueroad@gmail.com>2012-02-14 05:45:06 +0900
committerMichihiro NAKAJIMA <ggcueroad@gmail.com>2012-02-14 16:29:42 +0900
commitf30dc311bafff055bbcfcb272834566e15fce4dd (patch)
tree98a9ba64a9cca385af29791091f2e2f1c91fbe1d /libarchive/archive_write_set_format_ustar.c
parent1ecb1bb23cc28c22e787f3bf5a65342bcb0f3282 (diff)
downloadlibarchive-f30dc311bafff055bbcfcb272834566e15fce4dd.tar.gz
Fix issue 237.
Properly set a clear error message when archive_{write,read}_set_options failed.
Diffstat (limited to 'libarchive/archive_write_set_format_ustar.c')
-rw-r--r--libarchive/archive_write_set_format_ustar.c12
1 files changed, 7 insertions, 5 deletions
diff --git a/libarchive/archive_write_set_format_ustar.c b/libarchive/archive_write_set_format_ustar.c
index 4b96ac23..3117dd36 100644
--- a/libarchive/archive_write_set_format_ustar.c
+++ b/libarchive/archive_write_set_format_ustar.c
@@ -1,6 +1,6 @@
/*-
* Copyright (c) 2003-2007 Tim Kientzle
- * Copyright (c) 2011 Michihiro NAKAJIMA
+ * Copyright (c) 2011-2012 Michihiro NAKAJIMA
* All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
@@ -224,11 +224,13 @@ archive_write_ustar_options(struct archive_write *a, const char *key,
else
ret = ARCHIVE_FATAL;
}
- } else
- archive_set_error(&a->archive, ARCHIVE_ERRNO_MISC,
- "%s: unknown keyword ``%s''", a->format_name, key);
+ return (ret);
+ }
- return (ret);
+ /* Note: The "warn" return is just to inform the options
+ * supervisor that we didn't handle it. It will generate
+ * a suitable error if no one used this option. */
+ return (ARCHIVE_WARN);
}
static int