From bd6ea50dd4835d16db13d207c7fdd002e630dde6 Mon Sep 17 00:00:00 2001 From: Kevin Day Date: Wed, 28 Jan 2026 20:39:42 -0600 Subject: [PATCH] Cleanup: Replace literal characters with defined string characters in f_network_is_ip_address(). Literal characters like `'a'` should not be used. Instead, things like `f_string_ascii_a_s.string[0]`. --- level_0/f_network/c/network.c | 36 +++++++++++++++++------------------ 1 file changed, 18 insertions(+), 18 deletions(-) diff --git a/level_0/f_network/c/network.c b/level_0/f_network/c/network.c index 034ed009c..d90a92aef 100644 --- a/level_0/f_network/c/network.c +++ b/level_0/f_network/c/network.c @@ -132,8 +132,8 @@ extern "C" { if (!address.string[i]) continue; - if ((uint16_t) (address.string[i] - 'a') < 6 || (uint16_t) (address.string[i] - 'A') < 6 || (uint16_t) (address.string[i] - '0') < 10) { - if ((uint16_t) (address.string[i] - '0') > 9) { + if ((uint16_t) (address.string[i] - f_string_ascii_a_s.string[0]) < 6 || (uint16_t) (address.string[i] - f_string_ascii_A_s.string[0]) < 6 || (uint16_t) (address.string[i] - f_string_ascii_0_s.string[0]) < 10) { + if ((uint16_t) (address.string[i] - f_string_ascii_0_s.string[0]) > 9) { flag = 0x1; } @@ -146,7 +146,7 @@ extern "C" { continue; } - if (address.string[i] == '.') { + if (address.string[i] == f_string_ascii_period_s.string[0]) { // An IPv4 looking address with a hexidecimal letter. if (flag & 0x1) { @@ -158,7 +158,7 @@ extern "C" { break; } - if (address.string[i] == ':') { + if (address.string[i] == f_string_ascii_colon_s.string[0]) { flag = 0x1; digits = 0; @@ -170,7 +170,7 @@ extern "C" { break; } - if (address.string[i] == '[') { + if (address.string[i] == f_string_ascii_bracket_open_s.string[0]) { if (flag) { state->status = F_false; @@ -238,17 +238,17 @@ extern "C" { if (!address.string[i]) continue; - if ((uint16_t) (address.string[i] - 'a') < 6 || (uint16_t) (address.string[i] - 'A') < 6 || (uint16_t) (address.string[i] - '0') < 10) { + if ((uint16_t) (address.string[i] - f_string_ascii_a_s.string[0]) < 6 || (uint16_t) (address.string[i] - f_string_ascii_A_s.string[0]) < 6 || (uint16_t) (address.string[i] - f_string_ascii_0_s.string[0]) < 10) { // There must be at max 4 digits in a single set. if (++digits > 4) return; // After the forward slash may only have at most 3 base-10 digits. if (flag & 0x4) { - if ((uint16_t) (address.string[i] - '0') > 9 || digits > 3) return; + if ((uint16_t) (address.string[i] - f_string_ascii_0_s.string[0]) > 9 || digits > 3) return; } } - else if (address.string[i] == ':') { + else if (address.string[i] == f_string_ascii_colon_s.string[0]) { // Cannot have a colon to the right of a forward slash. if (flag & 0x4) return; @@ -272,7 +272,7 @@ extern "C" { if (at.start_2 == address.used) return; - if (address.string[at.start_2] == ':') { + if (address.string[at.start_2] == f_string_ascii_colon_s.string[0]) { // Cannot have three or more colons back to back. if (flag & 0x8) return; @@ -301,7 +301,7 @@ extern "C" { } // Colons must be followed by a hexidecimal digit or a forward slash. - if ((uint16_t) (address.string[at.start_2] - 'a') > 5 && (uint16_t) (address.string[at.start_2] - 'A') > 5 && (uint16_t) (address.string[at.start_2] - '0') > 9 && address.string[at.start_2] != '/') return; + if ((uint16_t) (address.string[at.start_2] - f_string_ascii_a_s.string[0]) > 5 && (uint16_t) (address.string[at.start_2] - f_string_ascii_A_s.string[0]) > 5 && (uint16_t) (address.string[at.start_2] - f_string_ascii_0_s.string[0]) > 9 && address.string[at.start_2] != f_string_ascii_slash_forward_s.string[0]) return; at.stop_1 = at.start_2; @@ -320,7 +320,7 @@ extern "C" { digits = 0; at.start_2 = 1; } - else if (address.string[i] == '/') { + else if (address.string[i] == f_string_ascii_slash_forward_s.string[0]) { // Must only have a single forward slash. if (flag & 0x4) return; @@ -328,7 +328,7 @@ extern "C" { flag |= 0x4; digits = 0; } - else if (address.string[i] == ']') { + else if (address.string[i] == f_string_ascii_bracket_close_s.string[0]) { // Must not have a closing bracket without an open bracket. if (!(flag & 0x2)) return; @@ -348,7 +348,7 @@ extern "C" { } // for if (at.start_2 < address.used) { - if (address.string[at.start_2] == ':') { + if (address.string[at.start_2] == f_string_ascii_colon_s.string[0]) { // Skip past NULL characters. while (++at.start_2 < address.used && !address.string[at.start_2]) { @@ -374,7 +374,7 @@ extern "C" { } if (!address.string[at.stop_2]) continue; - if ((uint16_t) (address.string[at.stop_2] - '0') > 9) return; + if ((uint16_t) (address.string[at.stop_2] - f_string_ascii_0_s.string[0]) > 9) return; } // for // The double colon either must exist when set is smaller than 7 or the double colon must not exist at all. @@ -478,7 +478,7 @@ extern "C" { if (!address.string[i]) continue; - if ((uint16_t) (address.string[i] - '0') < 10) { + if ((uint16_t) (address.string[i] - f_string_ascii_0_s.string[0]) < 10) { if (flag & 0x4) { if (!(flag & 0x8) && ++digits > 3) return; @@ -497,7 +497,7 @@ extern "C" { digits_set[digits - 1] = address.string[i]; } } - else if (address.string[i] == '.') { + else if (address.string[i] == f_string_ascii_period_s.string[0]) { if ((flag & 0x6) || !digits || ++set > 3) return; digits = 0; @@ -510,7 +510,7 @@ extern "C" { memset(digits_set, 0, 3); } - else if (address.string[i] == ':') { + else if (address.string[i] == f_string_ascii_colon_s.string[0]) { if (set != 3 || (flag & 0x2)) return; digit = atoi(digits_set); @@ -544,7 +544,7 @@ extern "C" { // Save the position that might represent the start of the port number. at.start_2 = i + 1; } - else if (address.string[i] == '/') { + else if (address.string[i] == f_string_ascii_slash_forward_s.string[0]) { if ((flag & 0x4) || set != 3) return; flag |= 0x4; -- 2.47.3