diff options
author | Thomas Haller <thaller@redhat.com> | 2014-03-27 11:21:00 +0100 |
---|---|---|
committer | Thomas Haller <thaller@redhat.com> | 2014-03-27 12:28:08 +0100 |
commit | b65c788d5fdaaaa922a1c7ab8f54f933e92b83f2 (patch) | |
tree | 593dd42caed775addfa085aef452aa395fdccd4a | |
parent | d46e1eb67d3140e6a73f3b5398bc073ed43c3277 (diff) | |
download | NetworkManager-b65c788d5fdaaaa922a1c7ab8f54f933e92b83f2.tar.gz |
ifcfg-rh: add utils_get_indexed_key_* functions
Add helper functions to stringify the key names
with an index for ifcfg-rh.
Signed-off-by: Thomas Haller <thaller@redhat.com>
-rw-r--r-- | src/settings/plugins/ifcfg-rh/utils.c | 32 | ||||
-rw-r--r-- | src/settings/plugins/ifcfg-rh/utils.h | 10 |
2 files changed, 42 insertions, 0 deletions
diff --git a/src/settings/plugins/ifcfg-rh/utils.c b/src/settings/plugins/ifcfg-rh/utils.c index 5abb4282e5..abd1f18268 100644 --- a/src/settings/plugins/ifcfg-rh/utils.c +++ b/src/settings/plugins/ifcfg-rh/utils.c @@ -24,6 +24,8 @@ #include "utils.h" #include "shvar.h" +#include "NetworkManagerUtils.h" + /* * utils_single_quote_string * @@ -413,3 +415,33 @@ utils_get_ifcfg_from_alias (const char *alias) g_free (base); return ifcfg; } + +#define _STRLEN(NAME) (STRLEN (G_STRINGIFY (NAME))) +#define DEFINE_UTILS_GET_INDEXED_KEY(NAME) \ +const char * \ +utils_get_indexed_key_##NAME (gint n) \ +{ \ + static char buff[_STRLEN (NAME) + 4] = G_STRINGIFY (NAME); \ + int chars; \ +\ + g_assert (n >= -1 && n <= 999); \ + if (n == -1) \ + buff[_STRLEN (NAME)] = 0; \ + else { \ + chars = g_snprintf (&buff[_STRLEN (NAME)], sizeof (buff) - _STRLEN (NAME), "%d", n); \ + g_assert (chars < sizeof (buff) - _STRLEN (NAME)); \ + } \ + return buff; \ +} +DEFINE_UTILS_GET_INDEXED_KEY(ADDRESS) +DEFINE_UTILS_GET_INDEXED_KEY(DNS) +DEFINE_UTILS_GET_INDEXED_KEY(GATEWAY) +DEFINE_UTILS_GET_INDEXED_KEY(IPADDR) +DEFINE_UTILS_GET_INDEXED_KEY(KEY) +DEFINE_UTILS_GET_INDEXED_KEY(KEY_PASSPHRASE) +DEFINE_UTILS_GET_INDEXED_KEY(METRIC) +DEFINE_UTILS_GET_INDEXED_KEY(NETMASK) +DEFINE_UTILS_GET_INDEXED_KEY(PREFIX) +#undef DEFINE_UTILS_GET_INDEXED_KEY +#undef _STRLEN + diff --git a/src/settings/plugins/ifcfg-rh/utils.h b/src/settings/plugins/ifcfg-rh/utils.h index 95af828bb1..dff50c56ad 100644 --- a/src/settings/plugins/ifcfg-rh/utils.h +++ b/src/settings/plugins/ifcfg-rh/utils.h @@ -53,5 +53,15 @@ gboolean utils_ignore_ip_config (NMConnection *connection); gboolean utils_is_ifcfg_alias_file (const char *alias, const char *ifcfg); char *utils_get_ifcfg_from_alias (const char *alias); +const char *utils_get_indexed_key_ADDRESS (gint n); +const char *utils_get_indexed_key_DNS (gint n); +const char *utils_get_indexed_key_GATEWAY (gint n); +const char *utils_get_indexed_key_IPADDR (gint n); +const char *utils_get_indexed_key_KEY (gint n); +const char *utils_get_indexed_key_KEY_PASSPHRASE (gint n); +const char *utils_get_indexed_key_METRIC (gint n); +const char *utils_get_indexed_key_NETMASK (gint n); +const char *utils_get_indexed_key_PREFIX (gint n); + #endif /* _UTILS_H_ */ |