numfmt supports zero padding of numbers using the standard printf
syntax of a leading zero, for example --format="%010f".
+ Also throughput was improved by up to 800% by avoiding redundant processing.
shred now supports multiple passes on GNU/Linux tape devices by rewinding
the tape before each pass, avoids redundant writes to empty files,
This flag is used only in the GMP code. */
static bool dev_debug = false;
-/* Like error(0, 0, ...), but without an implicit newline.
- Also a noop unless the global DEV_DEBUG is set.
- TODO: Replace with variadic macro in system.h or
- move to a separate module. */
-static inline void
-devmsg (char const *fmt, ...)
-{
- if (dev_debug)
- {
- va_list ap;
- va_start (ap, fmt);
- vfprintf (stderr, fmt, ap);
- va_end (ap);
- }
-}
-
/* Prove primality or run probabilistic tests. */
static bool flag_prove_primality = true;
/* debugging for developers. Enables devmsg(). */
static bool dev_debug = false;
-/* Like error(0, 0, ...), but without an implicit newline.
- Also a noop unless the global DEV_DEBUG is set.
- TODO: Replace with variadic macro in system.h or
- move to a separate module. */
-static inline void
-devmsg (char const *fmt, ...)
-{
- if (dev_debug)
- {
- va_list ap;
- va_start (ap, fmt);
- vfprintf (stderr, fmt, ap);
- va_end (ap);
- }
-}
-
static inline int
default_scale_base (enum scale_type scale)
{
void usage (int status) ATTRIBUTE_NORETURN;
+/* Like error(0, 0, ...), but without an implicit newline.
+ Also a noop unless the global DEV_DEBUG is set. */
+#define devmsg(...) \
+ do \
+ { \
+ if (dev_debug) \
+ fprintf (stderr, __VA_ARGS__); \
+ } \
+ while (0)
+
#define emit_cycle_warning(file_name) \
do \
{ \