diff options
author | Pablo Neira Ayuso <pablo@gnumonks.org> | 2011-03-28 19:24:22 +0200 |
---|---|---|
committer | Harald Welte <laforge@gnumonks.org> | 2011-03-28 20:00:45 +0200 |
commit | 3abad6a6f9ae4cfa65c9f6d5f15208790449eefe (patch) | |
tree | 32b141a3bf38a3b89589d767c795bd2d7837b59e /src | |
parent | 70004fcc6dcd5dd979c10143872b2a136371e371 (diff) |
utils: move OSMO_SNPRINT_RET() macro definition to osmocom/core/utils.h
This is used by the logging to vty conversion functions by now, but it
may be of help for other functions that plan to use snprintf().
Diffstat (limited to 'src')
-rw-r--r-- | src/logging.c | 26 |
1 files changed, 8 insertions, 18 deletions
diff --git a/src/logging.c b/src/logging.c index 653c80db..2c24f2fb 100644 --- a/src/logging.c +++ b/src/logging.c @@ -434,16 +434,6 @@ int log_target_file_reopen(struct log_target *target) return 0; } -/* This can go into some header file so others can benefit from it. */ -#define SNPRINTF_FAILURE(ret, rem, offset, len) \ -do { \ - len += ret; \ - if (ret > rem) \ - ret = rem; \ - offset += ret; \ - rem -= ret; \ -} while (0) - /* This generates the logging command string for VTY. */ const char *log_vty_command_string(const struct log_info *info) { @@ -465,7 +455,7 @@ const char *log_vty_command_string(const struct log_info *info) ret = snprintf(str + offset, rem, "logging level ("); if (ret < 0) goto err; - SNPRINTF_FAILURE(ret, rem, offset, len); + OSMO_SNPRINTF_RET(ret, rem, offset, len); for (i = 0; i < info->num_cat; i++) { int j, name_len = strlen(info->cat[i].name)+1; @@ -478,7 +468,7 @@ const char *log_vty_command_string(const struct log_info *info) ret = snprintf(str + offset, rem, "%s|", name+1); if (ret < 0) goto err; - SNPRINTF_FAILURE(ret, rem, offset, len); + OSMO_SNPRINTF_RET(ret, rem, offset, len); } offset--; /* to remove the trailing | */ rem++; @@ -486,7 +476,7 @@ const char *log_vty_command_string(const struct log_info *info) ret = snprintf(str + offset, rem, ") ("); if (ret < 0) goto err; - SNPRINTF_FAILURE(ret, rem, offset, len); + OSMO_SNPRINTF_RET(ret, rem, offset, len); for (i = 0; i < LOGLEVEL_DEFS; i++) { int j, loglevel_str_len = strlen(loglevel_strs[i].str)+1; @@ -499,7 +489,7 @@ const char *log_vty_command_string(const struct log_info *info) ret = snprintf(str + offset, rem, "%s|", loglevel_str); if (ret < 0) goto err; - SNPRINTF_FAILURE(ret, rem, offset, len); + OSMO_SNPRINTF_RET(ret, rem, offset, len); } offset--; /* to remove the trailing | */ rem++; @@ -507,7 +497,7 @@ const char *log_vty_command_string(const struct log_info *info) ret = snprintf(str + offset, rem, ")"); if (ret < 0) goto err; - SNPRINTF_FAILURE(ret, rem, offset, len); + OSMO_SNPRINTF_RET(ret, rem, offset, len); err: return str; } @@ -536,21 +526,21 @@ const char *log_vty_command_description(const struct log_info *info) "Set the log level for a specified category\n"); if (ret < 0) goto err; - SNPRINTF_FAILURE(ret, rem, offset, len); + OSMO_SNPRINTF_RET(ret, rem, offset, len); for (i = 0; i < info->num_cat; i++) { ret = snprintf(str + offset, rem, "%s\n", info->cat[i].description); if (ret < 0) goto err; - SNPRINTF_FAILURE(ret, rem, offset, len); + OSMO_SNPRINTF_RET(ret, rem, offset, len); } for (i = 0; i < LOGLEVEL_DEFS; i++) { ret = snprintf(str + offset, rem, "%s\n", loglevel_descriptions[i]); if (ret < 0) goto err; - SNPRINTF_FAILURE(ret, rem, offset, len); + OSMO_SNPRINTF_RET(ret, rem, offset, len); } err: return str; |