aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLasse Collin <lasse.collin@tukaani.org>2008-11-27 19:28:59 +0200
committerLasse Collin <lasse.collin@tukaani.org>2008-11-27 19:28:59 +0200
commitae65dcfde27014e4d811e1a1308aa5d0fe8debbd (patch)
tree56d35261c5dfcdbe1df4d95cfdf6132d9b3e8f02
parentRemove the nowadays unneeded memory limitting malloc() wrapper. (diff)
downloadxz-ae65dcfde27014e4d811e1a1308aa5d0fe8debbd.tar.xz
Cleanups to message.c.
-rw-r--r--src/xz/message.c47
1 files changed, 18 insertions, 29 deletions
diff --git a/src/xz/message.c b/src/xz/message.c
index caba9fbc..274b4e9f 100644
--- a/src/xz/message.c
+++ b/src/xz/message.c
@@ -102,7 +102,7 @@ my_time(void)
/// Wrapper for snprintf() to help constructing a string in pieces.
-static void /* lzma_attribute((format(printf, 3, 4))) */
+static void lzma_attribute((format(printf, 3, 4)))
my_snprintf(char **pos, size_t *left, const char *fmt, ...)
{
va_list ap;
@@ -123,6 +123,15 @@ my_snprintf(char **pos, size_t *left, const char *fmt, ...)
return;
}
+// Ugly hack to make it possible to use lzma_attribute((format(printf, 3, 4)))
+// and thus catch stupid things, while still allowing format characters that
+// are not in ISO C but are in POSIX. This has to be done after my_snprintf()
+// has been defined.
+#ifdef __GNUC__
+# define my_snprintf __extension__ my_snprintf
+# define my_printf __extension__ printf
+#endif
+
extern void
message_init(const char *given_argv0)
@@ -301,8 +310,6 @@ progress_sizes_helper(char **pos, size_t *left, uint64_t value, bool final)
return;
}
-// // At maximum of four significant digits is allowed for KiB.
-// if (value < UINT64_C(1023900)) {
// At maximum of five significant digits is allowed for KiB.
if (value < UINT64_C(10239900)) {
my_snprintf(pos, left, "%'.1f KiB",
@@ -832,20 +839,6 @@ message_help(bool long_help)
#endif
}
-/*
- if (long_help)
- puts(_(
-"\n"
-" Resource usage options:\n"
-"\n"
-" -M, --memory=NUM use roughly NUM bytes of memory at maximum; 0 indicates\n"
-" the default setting, which depends on the operation mode\n"
-" and the amount of physical memory (RAM)\n"
-" -T, --threads=NUM use a maximum of NUM (de)compression threads"
-// " --threading=STR threading style; possible values are `auto' (default),\n"
-// " `files', and `stream'
-));
-*/
if (long_help)
puts(_("\n Other options:\n"));
@@ -869,19 +862,15 @@ message_help(bool long_help)
puts(_("\nWith no FILE, or when FILE is -, read standard input.\n"));
if (long_help) {
- // FIXME !!!
- size_t mem_limit = hardware_memlimit_encoder() / (1024 * 1024);
- if (mem_limit == 0)
- mem_limit = 1;
-
// We use PRIu64 instead of %zu to support pre-C99 libc.
- // FIXME: Use ' but avoid warnings.
- puts(_("On this system and configuration, the tool will use"));
- printf(_(" * roughly %" PRIu64 " MiB of memory at maximum; and\n"),
- (uint64_t)(mem_limit));
- printf(N_(" * at maximum of one thread for (de)compression.\n\n",
- " * at maximum of %" PRIu64
- " threads for (de)compression.\n\n",
+ my_printf(_(
+"On this system and configuration, the tool will use at maximum of\n"
+" * roughly %'" PRIu64 " MiB RAM for compression;\n"
+" * roughly %'" PRIu64 " MiB RAM for uncompression; and\n"),
+ hardware_memlimit_encoder() / (1024 * 1024),
+ hardware_memlimit_decoder() / (1024 * 1024));
+ my_printf(N_(" * one thread for (de)compression.\n\n",
+ " * %'" PRIu64 " threads for (de)compression.\n\n",
(uint64_t)(opt_threads)), (uint64_t)(opt_threads));
}