From 6878d20ac430207b49f46c6fafe705747c02e199 Mon Sep 17 00:00:00 2001 From: Dan Winship Date: Tue, 25 Sep 2012 10:44:23 -0400 Subject: [PATCH] all: Don't use ctype.h macros The ctype macros (eg, isalnum(), tolower()) are locale-dependent. Use glib's ASCII-only versions instead. Also, replace isascii() with g_ascii_isprint(), since isascii() accepts control characters, which isn't what the code wanted in any of the places where it was using it. --- callouts/tests/test-dispatcher-envp.c | 1 - libnm-glib/nm-secret-agent.c | 3 +-- libnm-util/nm-setting-8021x.c | 1 - libnm-util/nm-setting-bluetooth.c | 1 - libnm-util/nm-setting-bond.c | 1 - libnm-util/nm-setting-gsm.c | 5 ++--- libnm-util/nm-setting-wired.c | 1 - libnm-util/nm-setting-wireless-security.c | 7 +++---- libnm-util/nm-utils.c | 9 ++++----- src/NetworkManagerUtils.c | 5 ++--- src/dhcp-manager/nm-dhcp-client.c | 3 +-- src/dhcp-manager/nm-dhcp-dhclient-utils.c | 5 ++--- src/dhcp-manager/nm-dhcp-dhclient.c | 1 - src/nm-policy-hostname.c | 3 +-- src/nm-policy.c | 5 ++--- src/nm-system.c | 1 - src/settings/nm-agent-manager.c | 3 +-- src/settings/nm-settings.c | 3 +-- src/settings/plugins/ifcfg-rh/reader.c | 9 ++++----- src/settings/plugins/ifcfg-rh/writer.c | 3 +-- src/settings/plugins/ifnet/connection_parser.c | 5 ++--- src/settings/plugins/ifnet/net_utils.c | 7 +++---- src/settings/plugins/ifupdown/parser.c | 7 +++---- src/settings/plugins/keyfile/reader.c | 1 - src/settings/plugins/keyfile/writer.c | 3 +-- test/nm-online.c | 1 - 26 files changed, 34 insertions(+), 60 deletions(-) diff --git a/callouts/tests/test-dispatcher-envp.c b/callouts/tests/test-dispatcher-envp.c index 34b9dbf54e..677376907b 100644 --- a/callouts/tests/test-dispatcher-envp.c +++ b/callouts/tests/test-dispatcher-envp.c @@ -22,7 +22,6 @@ #include #include #include -#include #include #include diff --git a/libnm-glib/nm-secret-agent.c b/libnm-glib/nm-secret-agent.c index ae048d803e..a43fa2cbf9 100644 --- a/libnm-glib/nm-secret-agent.c +++ b/libnm-glib/nm-secret-agent.c @@ -19,7 +19,6 @@ */ #include -#include #include #include @@ -766,7 +765,7 @@ validate_identifier (const char *identifier) /* FIXME: do complete validation here */ while (p && *p) { - if (!isalnum (*p) && (*p != '_') && (*p != '-') && (*p != '.')) + if (!g_ascii_isalnum (*p) && (*p != '_') && (*p != '-') && (*p != '.')) return FALSE; if ((*p == '.') && (*(p + 1) == '.')) return FALSE; diff --git a/libnm-util/nm-setting-8021x.c b/libnm-util/nm-setting-8021x.c index 28c0d3f956..96735db21f 100644 --- a/libnm-util/nm-setting-8021x.c +++ b/libnm-util/nm-setting-8021x.c @@ -24,7 +24,6 @@ */ #include -#include #include #include "nm-setting-8021x.h" #include "nm-param-spec-specialized.h" diff --git a/libnm-util/nm-setting-bluetooth.c b/libnm-util/nm-setting-bluetooth.c index 52f0b81e96..a74e55a021 100644 --- a/libnm-util/nm-setting-bluetooth.c +++ b/libnm-util/nm-setting-bluetooth.c @@ -25,7 +25,6 @@ */ #include -#include #include #include "nm-param-spec-specialized.h" diff --git a/libnm-util/nm-setting-bond.c b/libnm-util/nm-setting-bond.c index 2cabe40c05..5702713b8d 100644 --- a/libnm-util/nm-setting-bond.c +++ b/libnm-util/nm-setting-bond.c @@ -22,7 +22,6 @@ */ #include -#include #include #include diff --git a/libnm-util/nm-setting-gsm.c b/libnm-util/nm-setting-gsm.c index 98ec27a7c3..39529003c2 100644 --- a/libnm-util/nm-setting-gsm.c +++ b/libnm-util/nm-setting-gsm.c @@ -24,7 +24,6 @@ */ #include -#include #include "nm-setting-gsm.h" #include "nm-utils.h" #include "nm-setting-private.h" @@ -306,7 +305,7 @@ verify (NMSetting *setting, GSList *all_settings, GError **error) * like space ( ) and such. */ for (i = 0; i < apn_len; i++) { - if ( !isalnum (priv->apn[i]) + if ( !g_ascii_isalnum (priv->apn[i]) && (priv->apn[i] != '.') && (priv->apn[i] != '_') && (priv->apn[i] != '-')) { @@ -349,7 +348,7 @@ verify (NMSetting *setting, GSList *all_settings, GError **error) } for (i = 0; i < nid_len; i++) { - if (!isdigit (priv->network_id[i])) { + if (!g_ascii_isdigit (priv->network_id[i])) { g_set_error (error, NM_SETTING_GSM_ERROR, NM_SETTING_GSM_ERROR_INVALID_PROPERTY, diff --git a/libnm-util/nm-setting-wired.c b/libnm-util/nm-setting-wired.c index fb21711d90..f9efde270e 100644 --- a/libnm-util/nm-setting-wired.c +++ b/libnm-util/nm-setting-wired.c @@ -24,7 +24,6 @@ */ #include -#include #include #include #include diff --git a/libnm-util/nm-setting-wireless-security.c b/libnm-util/nm-setting-wireless-security.c index 336773c88d..7db2225a5b 100644 --- a/libnm-util/nm-setting-wireless-security.c +++ b/libnm-util/nm-setting-wireless-security.c @@ -25,7 +25,6 @@ #include #include -#include #include #include "nm-setting-wireless-security.h" #include "nm-setting-8021x.h" @@ -704,13 +703,13 @@ verify_wep_key (const char *key, NMWepKeyType wep_type) if (keylen == 10 || keylen == 26) { /* Hex key */ for (i = 0; i < keylen; i++) { - if (!isxdigit (key[i])) + if (!g_ascii_isxdigit (key[i])) return FALSE; } } else if (keylen == 5 || keylen == 13) { /* ASCII key */ for (i = 0; i < keylen; i++) { - if (!isascii (key[i])) + if (!g_ascii_isprint (key[i])) return FALSE; } } else @@ -739,7 +738,7 @@ verify_wpa_psk (const char *psk) if (psklen == 64) { /* Hex PSK */ for (i = 0; i < psklen; i++) { - if (!isxdigit (psk[i])) + if (!g_ascii_isxdigit (psk[i])) return FALSE; } } diff --git a/libnm-util/nm-utils.c b/libnm-util/nm-utils.c index f88f1392b5..526e565540 100644 --- a/libnm-util/nm-utils.c +++ b/libnm-util/nm-utils.c @@ -25,7 +25,6 @@ */ #include "config.h" -#include #include #include #include @@ -2504,11 +2503,11 @@ nm_utils_hwaddr_aton (const char *asc, int type, gpointer buffer) while (left && *in) { guint8 d1 = in[0], d2 = in[1]; - if (!isxdigit (d1)) + if (!g_ascii_isxdigit (d1)) return NULL; /* If there's no leading zero (ie "aa:b:cc") then fake it */ - if (d2 && isxdigit (d2)) { + if (d2 && g_ascii_isxdigit (d2)) { *out++ = (HEXVAL (d1) << 4) + HEXVAL (d2); in += 2; } else { @@ -2607,7 +2606,7 @@ nm_utils_iface_valid_name (const char *name) return FALSE; while (*name) { - if (*name == '/' || isspace (*name)) + if (*name == '/' || g_ascii_isspace (*name)) return FALSE; name++; } @@ -2632,7 +2631,7 @@ nm_utils_is_uuid (const char *str) while (*p) { if (*p == '-') num_dashes++; - else if (!isxdigit (*p)) + else if (!g_ascii_isxdigit (*p)) return FALSE; p++; } diff --git a/src/NetworkManagerUtils.c b/src/NetworkManagerUtils.c index 5dcc02fffd..2ea3f771bf 100644 --- a/src/NetworkManagerUtils.c +++ b/src/NetworkManagerUtils.c @@ -24,7 +24,6 @@ #include #include #include -#include #include #include "NetworkManagerUtils.h" @@ -410,12 +409,12 @@ parse_subchannels (const char *subchannels, guint32 *a, guint32 *b, guint32 *c) g_return_val_if_fail (*c == 0, FALSE); /* sanity check */ - if (!isxdigit (subchannels[0])) + if (!g_ascii_isxdigit (subchannels[0])) return FALSE; /* Get the first channel */ while (*p && (*p != ',')) { - if (!isxdigit (*p) && (*p != '.')) + if (!g_ascii_isxdigit (*p) && (*p != '.')) return FALSE; /* Invalid chars */ if (i >= BUFSIZE) return FALSE; /* Too long to be a subchannel */ diff --git a/src/dhcp-manager/nm-dhcp-client.c b/src/dhcp-manager/nm-dhcp-client.c index ea4084ac18..787f53d027 100644 --- a/src/dhcp-manager/nm-dhcp-client.c +++ b/src/dhcp-manager/nm-dhcp-client.c @@ -18,7 +18,6 @@ */ #include -#include #include #include #include @@ -886,7 +885,7 @@ ip4_process_classless_routes (GHashTable *options, p = str; while (*p) { - if (!isdigit (*p) && (*p != ' ') && (*p != '.') && (*p != '/')) { + if (!g_ascii_isdigit (*p) && (*p != ' ') && (*p != '.') && (*p != '/')) { nm_log_warn (LOGD_DHCP4, "ignoring invalid classless static routes '%s'", str); return FALSE; } diff --git a/src/dhcp-manager/nm-dhcp-dhclient-utils.c b/src/dhcp-manager/nm-dhcp-dhclient-utils.c index ab49a76512..863a097657 100644 --- a/src/dhcp-manager/nm-dhcp-dhclient-utils.c +++ b/src/dhcp-manager/nm-dhcp-dhclient-utils.c @@ -22,7 +22,6 @@ #include #include #include -#include #include "nm-dhcp-dhclient-utils.h" @@ -108,7 +107,7 @@ nm_dhcp_dhclient_create_config (const char *interface, break; } - if (!isalnum ((*aiter)[0])) + if (!g_ascii_isalnum ((*aiter)[0])) continue; if ((*aiter)[strlen (*aiter) - 1] == ';') { @@ -147,7 +146,7 @@ nm_dhcp_dhclient_create_config (const char *interface, const char *p = tmp; while (*p) { - if (!isxdigit (*p) && (*p != ':')) { + if (!g_ascii_isxdigit (*p) && (*p != ':')) { is_octets = FALSE; break; } diff --git a/src/dhcp-manager/nm-dhcp-dhclient.c b/src/dhcp-manager/nm-dhcp-dhclient.c index 043cd63de7..e816c04a09 100644 --- a/src/dhcp-manager/nm-dhcp-dhclient.c +++ b/src/dhcp-manager/nm-dhcp-dhclient.c @@ -32,7 +32,6 @@ #include #include #include -#include #include diff --git a/src/nm-policy-hostname.c b/src/nm-policy-hostname.c index f98aa9c62d..a788c8bc99 100644 --- a/src/nm-policy-hostname.c +++ b/src/nm-policy-hostname.c @@ -23,7 +23,6 @@ #include #include #include -#include #include #include @@ -107,7 +106,7 @@ hostname_thread_worker (gpointer data) nm_log_dbg (LOGD_DNS, "(%p) address reverse-lookup returned hostname '%s'", ht, ht->hostname); for (i = 0; i < strlen (ht->hostname); i++) - ht->hostname[i] = tolower (ht->hostname[i]); + ht->hostname[i] = g_ascii_tolower (ht->hostname[i]); } else { nm_log_dbg (LOGD_DNS, "(%p) address reverse-lookup failed: (%d) %s", ht, ht->ret, gai_strerror (ht->ret)); diff --git a/src/nm-policy.c b/src/nm-policy.c index 00cf67e26e..92f771dbe0 100644 --- a/src/nm-policy.c +++ b/src/nm-policy.c @@ -24,7 +24,6 @@ #include #include #include -#include #include "nm-policy.h" #include "NetworkManagerUtils.h" @@ -345,7 +344,7 @@ update_system_hostname (NMPolicy *policy, NMDevice *best4, NMDevice *best6) if (dhcp_hostname && strlen (dhcp_hostname)) { /* Sanity check; strip leading spaces */ while (*p) { - if (!isblank (*p++)) { + if (!g_ascii_isspace (*p++)) { _set_hostname (policy, p-1, "from DHCPv4"); return; } @@ -364,7 +363,7 @@ update_system_hostname (NMPolicy *policy, NMDevice *best4, NMDevice *best6) if (dhcp_hostname && strlen (dhcp_hostname)) { /* Sanity check; strip leading spaces */ while (*p) { - if (!isblank (*p++)) { + if (!g_ascii_isspace (*p++)) { _set_hostname (policy, p-1, "from DHCPv6"); return; } diff --git a/src/nm-system.c b/src/nm-system.c index bcff5092c2..4f422bf1aa 100644 --- a/src/nm-system.c +++ b/src/nm-system.c @@ -40,7 +40,6 @@ #include #include #include -#include #include #include #include diff --git a/src/settings/nm-agent-manager.c b/src/settings/nm-agent-manager.c index b7057400bd..d9199f51c2 100644 --- a/src/settings/nm-agent-manager.c +++ b/src/settings/nm-agent-manager.c @@ -20,7 +20,6 @@ #include #include -#include #include #include @@ -166,7 +165,7 @@ validate_identifier (const char *identifier, GError **error) /* FIXME: do complete validation here */ while (p && *p) { - if (!isalnum (*p) && (*p != '_') && (*p != '-') && (*p != '.')) { + if (!g_ascii_isalnum (*p) && (*p != '_') && (*p != '-') && (*p != '.')) { g_set_error (error, NM_AGENT_MANAGER_ERROR, NM_AGENT_MANAGER_ERROR_INVALID_IDENTIFIER, diff --git a/src/settings/nm-settings.c b/src/settings/nm-settings.c index 1d3c74f6e9..0c139174eb 100644 --- a/src/settings/nm-settings.c +++ b/src/settings/nm-settings.c @@ -27,7 +27,6 @@ #include #include -#include #include #include #include @@ -596,7 +595,7 @@ load_plugins (NMSettings *self, const char **plugins, GError **error) GObject * (*factory_func) (const char *); /* strip leading spaces */ - while (isblank (*pname)) + while (g_ascii_isspace (*pname)) pname++; /* ifcfg-fedora was renamed ifcfg-rh; handle old configs here */ diff --git a/src/settings/plugins/ifcfg-rh/reader.c b/src/settings/plugins/ifcfg-rh/reader.c index 052d2dcef5..c05533c88d 100644 --- a/src/settings/plugins/ifcfg-rh/reader.c +++ b/src/settings/plugins/ifcfg-rh/reader.c @@ -25,7 +25,6 @@ #include #include #include -#include #include #include #include @@ -1731,7 +1730,7 @@ add_one_wep_key (shvarFile *ifcfg, char *p = value + 2; while (*p) { - if (!isascii ((int) (*p))) { + if (!g_ascii_isprint ((int) (*p))) { g_set_error (error, IFCFG_PLUGIN_ERROR, 0, "Invalid ASCII WEP key."); goto out; @@ -2029,7 +2028,7 @@ parse_wpa_psk (shvarFile *ifcfg, if (!quoted && (strlen (psk) == 64)) { /* Verify the hex PSK; 64 digits */ while (*p) { - if (!isxdigit (*p++)) { + if (!g_ascii_isxdigit (*p++)) { g_set_error (error, IFCFG_PLUGIN_ERROR, 0, "Invalid WPA_PSK (contains non-hexadecimal characters)"); goto out; @@ -3010,7 +3009,7 @@ make_wireless_setting (shvarFile *ifcfg, p = value + 2; while (*p) { - if (!isxdigit (*p)) { + if (!g_ascii_isxdigit (*p)) { g_set_error (error, IFCFG_PLUGIN_ERROR, 0, "Invalid SSID '%s' character (looks like hex SSID but '%c' isn't a hex digit)", value, *p); @@ -3281,7 +3280,7 @@ make_wired_setting (shvarFile *ifcfg, /* basic sanity checks */ while (*p) { - if (!isxdigit (*p) && (*p != ',') && (*p != '.')) { + if (!g_ascii_isxdigit (*p) && (*p != ',') && (*p != '.')) { PLUGIN_WARN (IFCFG_PLUGIN_NAME, " warning: invalid SUBCHANNELS '%s'", value); success = FALSE; break; diff --git a/src/settings/plugins/ifcfg-rh/writer.c b/src/settings/plugins/ifcfg-rh/writer.c index ce0e794e4c..6df6023881 100644 --- a/src/settings/plugins/ifcfg-rh/writer.c +++ b/src/settings/plugins/ifcfg-rh/writer.c @@ -18,7 +18,6 @@ * Copyright (C) 2009 - 2012 Red Hat, Inc. */ -#include #include #include #include @@ -845,7 +844,7 @@ write_wireless_setting (NMConnection *connection, * hex notation of the SSID instead. */ for (i = 0; i < ssid->len; i++) { - if (!isprint (ssid->data[i])) { + if (!g_ascii_isprint (ssid->data[i])) { hex_ssid = TRUE; break; } diff --git a/src/settings/plugins/ifnet/connection_parser.c b/src/settings/plugins/ifnet/connection_parser.c index 78812f977f..cce7f2ed49 100644 --- a/src/settings/plugins/ifnet/connection_parser.c +++ b/src/settings/plugins/ifnet/connection_parser.c @@ -26,7 +26,6 @@ #include #include #include -#include #include #include @@ -2291,7 +2290,7 @@ write_wireless_setting (NMConnection *connection, * support these characters, see bug #356337) */ for (i = 0; i < ssid->len; i++) { - if (!isalnum (ssid->data[i])) { + if (!g_ascii_isalnum (ssid->data[i])) { hex_ssid = TRUE; break; } @@ -2953,7 +2952,7 @@ get_wireless_name (NMConnection * connection) } for (i = 0; i < ssid->len; i++) { - if (!isprint (ssid->data[i])) { + if (!g_ascii_isprint (ssid->data[i])) { hex_ssid = TRUE; break; } diff --git a/src/settings/plugins/ifnet/net_utils.c b/src/settings/plugins/ifnet/net_utils.c index d613db6a63..71949ddabb 100644 --- a/src/settings/plugins/ifnet/net_utils.c +++ b/src/settings/plugins/ifnet/net_utils.c @@ -22,7 +22,6 @@ #include #include #include -#include #include #include #include @@ -67,7 +66,7 @@ is_hex (const char *value) if (!p) return FALSE; while (*p) { - if (!isxdigit (*p++)) + if (!g_ascii_isxdigit (*p++)) return FALSE; } return TRUE; @@ -79,7 +78,7 @@ is_ascii (const char *value) const char *p = value; while (*p) { - if (!isascii (*p++)) + if (!g_ascii_isprint (*p++)) return FALSE; } return TRUE; @@ -462,7 +461,7 @@ create_ip4_block (gchar * ip) iblock->ip = tmp_ip4_addr.s_addr; prefix = ip_mask[1]; i = 0; - while (i < length && isdigit (prefix[i])) + while (i < length && g_ascii_isdigit (prefix[i])) i++; prefix[i] = '\0'; iblock->netmask = nm_utils_ip4_prefix_to_netmask ((guint32) diff --git a/src/settings/plugins/ifupdown/parser.c b/src/settings/plugins/ifupdown/parser.c index 88fb57b6ad..350a62caec 100644 --- a/src/settings/plugins/ifupdown/parser.c +++ b/src/settings/plugins/ifupdown/parser.c @@ -25,7 +25,6 @@ #include #include #include -#include #include #include @@ -446,7 +445,7 @@ ifupdown_ip4_add_dns (NMSettingIP4Config *s_ip4, const char *dns) list = g_strsplit_set (dns, " \t", -1); for (iter = list; iter && *iter; iter++) { g_strstrip (*iter); - if (isblank (*iter[0])) + if (g_ascii_isspace (*iter[0])) continue; if (!inet_pton (AF_INET, *iter, &addr)) { PLUGIN_WARN ("SCPlugin-Ifupdown", @@ -552,7 +551,7 @@ update_ip4_setting_from_if_block(NMConnection *connection, list = g_strsplit_set (search_v, " \t", -1); for (iter = list; iter && *iter; iter++) { g_strstrip (*iter); - if (isblank (*iter[0])) + if (g_ascii_isspace (*iter[0])) continue; if (!nm_setting_ip4_config_add_dns_search (s_ip4, *iter)) { PLUGIN_WARN ("SCPlugin-Ifupdown", @@ -585,7 +584,7 @@ ifupdown_ip6_add_dns (NMSettingIP6Config *s_ip6, const char *dns) list = g_strsplit_set (dns, " \t", -1); for (iter = list; iter && *iter; iter++) { g_strstrip (*iter); - if (isblank (*iter[0])) + if (g_ascii_isspace (*iter[0])) continue; if (!inet_pton (AF_INET6, *iter, &addr)) { PLUGIN_WARN ("SCPlugin-Ifupdown", diff --git a/src/settings/plugins/keyfile/reader.c b/src/settings/plugins/keyfile/reader.c index 435bdb1569..df147fbec9 100644 --- a/src/settings/plugins/keyfile/reader.c +++ b/src/settings/plugins/keyfile/reader.c @@ -39,7 +39,6 @@ #include #include #include -#include #include "nm-dbus-glib-types.h" #include "nm-system-config-interface.h" diff --git a/src/settings/plugins/keyfile/writer.c b/src/settings/plugins/keyfile/writer.c index 21ed6bf3b9..2a5ce2bdff 100644 --- a/src/settings/plugins/keyfile/writer.c +++ b/src/settings/plugins/keyfile/writer.c @@ -41,7 +41,6 @@ #include #include #include -#include #include "nm-dbus-glib-types.h" #include "nm-glib-compat.h" @@ -500,7 +499,7 @@ ssid_writer (GKeyFile *file, */ for (i = 0; i < array->len; i++) { char c = array->data[i] & 0xFF; - if (!isprint (c)) { + if (!g_ascii_isprint (c)) { new_format = FALSE; break; } diff --git a/test/nm-online.c b/test/nm-online.c index 77f74638f0..4b3ae9a645 100644 --- a/test/nm-online.c +++ b/test/nm-online.c @@ -32,7 +32,6 @@ #include -#include #include #include #include