macro: introduce a nice macro for disabling -Wformat-nonliteral temporarily

This commit is contained in:
Lennart Poettering
2014-02-20 18:18:32 +01:00
parent beb999379c
commit bcfce235a3
8 changed files with 33 additions and 35 deletions
+7 -7
View File
@@ -610,8 +610,6 @@ _pure_ static const char *job_get_status_message_format_try_harder(Unit *u, JobT
return NULL;
}
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wformat-nonliteral"
static void job_print_status_message(Unit *u, JobType t, JobResult result) {
const char *format;
@@ -619,6 +617,8 @@ static void job_print_status_message(Unit *u, JobType t, JobResult result) {
assert(t >= 0);
assert(t < _JOB_TYPE_MAX);
DISABLE_WARNING_FORMAT_NONLITERAL;
if (t == JOB_START) {
format = job_get_status_message_format(u, t, result);
if (!format)
@@ -681,11 +681,10 @@ static void job_print_status_message(Unit *u, JobType t, JobResult result) {
if (result == JOB_SKIPPED)
unit_status_printf(u, ANSI_HIGHLIGHT_ON " INFO " ANSI_HIGHLIGHT_OFF, "%s is not active.");
}
}
#pragma GCC diagnostic pop
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wformat-nonliteral"
REENABLE_WARNING;
}
static void job_log_status_message(Unit *u, JobType t, JobResult result) {
const char *format;
char buf[LINE_MAX];
@@ -704,8 +703,10 @@ static void job_log_status_message(Unit *u, JobType t, JobResult result) {
if (!format)
return;
DISABLE_WARNING_FORMAT_NONLITERAL;
snprintf(buf, sizeof(buf), format, unit_description(u));
char_array_0(buf);
REENABLE_WARNING;
if (t == JOB_START) {
sd_id128_t mid;
@@ -734,7 +735,6 @@ static void job_log_status_message(Unit *u, JobType t, JobResult result) {
"MESSAGE=%s", buf,
NULL);
}
#pragma GCC diagnostic pop
int job_finish_and_invalidate(Job *j, JobResult result, bool recursive) {
Unit *u;
+2 -5
View File
@@ -30,9 +30,6 @@
#include "kmod-setup.h"
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wformat-nonliteral"
static void systemd_kmod_log(
void *data,
int priority,
@@ -42,11 +39,11 @@ static void systemd_kmod_log(
va_list args) {
/* library logging is enabled at debug only */
DISABLE_WARNING_FORMAT_NONLITERAL;
log_metav(LOG_DEBUG, file, line, fn, format, args);
REENABLE_WARNING;
}
#pragma GCC diagnostic pop
static bool cmdline_check_kdbus(void) {
_cleanup_free_ char *line = NULL;
+6 -9
View File
@@ -1140,8 +1140,6 @@ _pure_ static const char *unit_get_status_message_format_try_harder(Unit *u, Job
return NULL;
}
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wformat-nonliteral"
static void unit_status_print_starting_stopping(Unit *u, JobType t) {
const char *format;
@@ -1154,12 +1152,11 @@ static void unit_status_print_starting_stopping(Unit *u, JobType t) {
if (!format)
return;
DISABLE_WARNING_FORMAT_NONLITERAL;
unit_status_printf(u, "", format);
REENABLE_WARNING;
}
#pragma GCC diagnostic pop
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wformat-nonliteral"
static void unit_status_log_starting_stopping_reloading(Unit *u, JobType t) {
const char *format;
char buf[LINE_MAX];
@@ -1179,8 +1176,10 @@ static void unit_status_log_starting_stopping_reloading(Unit *u, JobType t) {
if (!format)
return;
DISABLE_WARNING_FORMAT_NONLITERAL;
snprintf(buf, sizeof(buf), format, unit_description(u));
char_array_0(buf);
REENABLE_WARNING;
mid = t == JOB_START ? SD_MESSAGE_UNIT_STARTING :
t == JOB_STOP ? SD_MESSAGE_UNIT_STOPPING :
@@ -1192,7 +1191,6 @@ static void unit_status_log_starting_stopping_reloading(Unit *u, JobType t) {
"MESSAGE=%s", buf,
NULL);
}
#pragma GCC diagnostic pop
/* Errors:
* -EBADR: This unit type does not support starting.
@@ -2525,12 +2523,11 @@ int unit_coldplug(Unit *u) {
return 0;
}
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wformat-nonliteral"
void unit_status_printf(Unit *u, const char *status, const char *unit_status_msg_format) {
DISABLE_WARNING_FORMAT_NONLITERAL;
manager_status_printf(u->manager, false, status, unit_status_msg_format, unit_description(u));
REENABLE_WARNING;
}
#pragma GCC diagnostic pop
bool unit_need_daemon_reload(Unit *u) {
_cleanup_strv_free_ char **t = NULL;