logging: make nm_logging_enabled() inline function

Basically every logging statement is wrapped by a nm_logging_enabled()
to evaluate the function call of the logging lazy.

Make the function a candidate for inlining, it safes some space. On
a default build it goes for me from 2580584 to 2560104 bytes (20k).

   $ ./autogen.sh && make && strip ./src/NetworkManager
This commit is contained in:
Thomas Haller 2016-05-19 19:05:43 +02:00
parent a9ef2f9c50
commit 4ed1784ce4
2 changed files with 9 additions and 10 deletions

View file

@ -98,7 +98,7 @@ typedef struct {
LogFormatFlags log_format_level;
} LogLevelDesc;
static NMLogDomain _nm_logging_enabled_state[_LOGL_N_REAL] = {
NMLogDomain _nm_logging_enabled_state[_LOGL_N_REAL] = {
/* nm_logging_setup ("INFO", LOGD_DEFAULT_STRING, NULL, NULL); */
[LOGL_INFO] = LOGD_DEFAULT,
[LOGL_WARN] = LOGD_DEFAULT,
@ -445,14 +445,6 @@ nm_logging_all_domains_to_string (void)
return str->str;
}
gboolean
nm_logging_enabled (NMLogLevel level, NMLogDomain domain)
{
nm_assert (((guint) level) < G_N_ELEMENTS (_nm_logging_enabled_state));
return !!(_nm_logging_enabled_state[level] & domain);
}
#if SYSTEMD_JOURNAL
__attribute__((__format__ (__printf__, 4, 5)))
static void

View file

@ -158,7 +158,14 @@ void _nm_log_impl (const char *file,
const char *nm_logging_level_to_string (void);
const char *nm_logging_domains_to_string (void);
gboolean nm_logging_enabled (NMLogLevel level, NMLogDomain domain);
extern NMLogDomain _nm_logging_enabled_state[_LOGL_N_REAL];
static inline gboolean
nm_logging_enabled (NMLogLevel level, NMLogDomain domain)
{
nm_assert (((guint) level) < G_N_ELEMENTS (_nm_logging_enabled_state));
return !!(_nm_logging_enabled_state[level] & domain);
}
const char *nm_logging_all_levels_to_string (void);
const char *nm_logging_all_domains_to_string (void);