X-Git-Url: https://git.distorted.org.uk/~mdw/dvdrip/blobdiff_plain/293c860fcf90af73fe953022578e244ac1cea22a..refs/heads/mdw/cleanup:/multiprogress.h diff --git a/multiprogress.h b/multiprogress.h index e6f96f8..4a0d114 100644 --- a/multiprogress.h +++ b/multiprogress.h @@ -29,6 +29,18 @@ #include #include +/*----- Compiler-specific magic -------------------------------------------*/ + +#if (defined(__GNUC__) && (__GNUC__ > 2 || \ + (__GNUC__ == 2 && __GNUC_MINOR__ >= 5))) || \ + (defined(__clang__) && (__clang_major__ > 3 || \ + (__clang_major__ == 3 && __clang_minor__ >= 3))) +# define MULTIPROGRESS__PRINTF_LIKE(farg, aarg) \ + __attribute__((format(printf, farg, aarg))) +#else +# define MULTIPROGRESS__PRINTF_LIKE(farg, aarg) +#endif + /*----- Data structures ---------------------------------------------------*/ struct progress_ttyinfo { @@ -165,10 +177,10 @@ extern int progress_vputleft(struct progress_render_state */*render*/, const char */*fmt*/, va_list /*ap*/); extern int progress_vputright(struct progress_render_state */*render*/, const char */*fmt*/, va_list /*ap*/); -__attribute__((format(printf, 2, 3))) +MULTIPROGRESS__PRINTF_LIKE(2, 3) extern int progress_putleft(struct progress_render_state */*render*/, const char */*fmt*/, ...); -__attribute__((format(printf, 2, 3))) +MULTIPROGRESS__PRINTF_LIKE(2, 3) extern int progress_putright(struct progress_render_state */*render*/, const char */*fmt*/, ...); /* Format the `printf'-style string FMT with the supplied arguments