]> git.ipfire.org Git - people/ms/libloc.git/commitdiff
country: Use one function to copy country codes
authorMichael Tremer <michael.tremer@ipfire.org>
Tue, 15 Oct 2019 13:54:42 +0000 (13:54 +0000)
committerMichael Tremer <michael.tremer@ipfire.org>
Tue, 15 Oct 2019 13:54:42 +0000 (13:54 +0000)
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
src/country.c
src/loc/country.h
src/network.c

index 6e9bfaaa98a8bdf63694a30f63eda33483793ddd..ee40d888b576d38f575b9e57a79f122116aafa1e 100644 (file)
@@ -122,7 +122,7 @@ int loc_country_new_from_database_v0(struct loc_ctx* ctx, struct loc_stringpool*
        char buffer[3];
 
        // Read country code
-       loc_country_copy_code(buffer, dbobj->code);
+       loc_country_code_copy(buffer, dbobj->code);
 
        // Create a new country object
        int r = loc_country_new(ctx, country, buffer);
@@ -130,7 +130,7 @@ int loc_country_new_from_database_v0(struct loc_ctx* ctx, struct loc_stringpool*
                return r;
 
        // Continent Code
-       loc_country_copy_code(buffer, dbobj->continent_code);
+       loc_country_code_copy(buffer, dbobj->continent_code);
 
        r = loc_country_set_continent_code(*country, buffer);
        if (r)
index f650adee03b9e82ec6530ee99cdbc5e191e28a07..e247d524b9ac0b15e1144b412c602c8a3ebc5676 100644 (file)
@@ -64,7 +64,7 @@ static inline int loc_country_code_is_valid(const char* cc) {
        return 1;
 }
 
-static inline void loc_country_copy_code(char* dst, const char* src) {
+static inline void loc_country_code_copy(char* dst, const char* src) {
     for (unsigned int i = 0; i < 2; i++) {
         dst[i] = src[i];
     }
index 387e18d526f4e2eac5e31f2d20fc6e8097e7adcf..87ae1c57bc6c4df8677c53f18a61ae37eb2deb7d 100644 (file)
@@ -300,9 +300,7 @@ LOC_EXPORT int loc_network_set_country_code(struct loc_network* network, const c
        if (!loc_country_code_is_valid(country_code))
                return -EINVAL;
 
-       for (unsigned int i = 0; i < 3; i++) {
-               network->country_code[i] = country_code[i];
-       }
+       loc_country_code_copy(network->country_code, country_code);
 
        return 0;
 }
@@ -346,9 +344,7 @@ LOC_EXPORT int loc_network_match_flag(struct loc_network* network, uint32_t flag
 
 LOC_EXPORT int loc_network_to_database_v0(struct loc_network* network, struct loc_database_network_v0* dbobj) {
        // Add country code
-       for (unsigned int i = 0; i < 2; i++) {
-               dbobj->country_code[i] = network->country_code[i] ? network->country_code[i] : '\0';
-       }
+       loc_country_code_copy(dbobj->country_code, network->country_code);
 
        // Add ASN
        dbobj->asn = htobe32(network->asn);
@@ -361,16 +357,14 @@ LOC_EXPORT int loc_network_to_database_v0(struct loc_network* network, struct lo
 
 LOC_EXPORT int loc_network_new_from_database_v0(struct loc_ctx* ctx, struct loc_network** network,
                struct in6_addr* address, unsigned int prefix, const struct loc_database_network_v0* dbobj) {
+       char country_code[3];
+
        int r = loc_network_new(ctx, network, address, prefix);
        if (r)
                return r;
 
        // Import country code
-       char country_code[3];
-       for (unsigned int i = 0; i < 2; i++) {
-               country_code[i] = dbobj->country_code[i];
-       }
-       country_code[2] = '\0';
+       loc_country_code_copy(country_code, dbobj->country_code);
 
        r = loc_network_set_country_code(*network, country_code);
        if (r)