From 94a3f3293c175c14e2dc4d62c74083df4a9ddc4d Mon Sep 17 00:00:00 2001 From: Michael Tremer Date: Fri, 15 Nov 2019 11:20:08 +0000 Subject: [PATCH] Improve error reporting when a network could not be read from the database Signed-off-by: Michael Tremer --- src/network.c | 22 ++++++++++++++++------ 1 file changed, 16 insertions(+), 6 deletions(-) diff --git a/src/network.c b/src/network.c index 09f225e..15faaf4 100644 --- a/src/network.c +++ b/src/network.c @@ -364,25 +364,35 @@ LOC_EXPORT int loc_network_new_from_database_v0(struct loc_ctx* ctx, struct loc_ char country_code[3]; int r = loc_network_new(ctx, network, address, prefix); - if (r) + if (r) { + ERROR(ctx, "Could not allocate a new network: %s", strerror(-r)); return r; + } // Import country code loc_country_code_copy(country_code, dbobj->country_code); r = loc_network_set_country_code(*network, country_code); - if (r) + if (r) { + ERROR(ctx, "Could not set country code: %s\n", country_code); return r; + } // Import ASN - r = loc_network_set_asn(*network, be32toh(dbobj->asn)); - if (r) + uint32_t asn = be32toh(dbobj->asn); + r = loc_network_set_asn(*network, asn); + if (r) { + ERROR(ctx, "Could not set ASN: %d\n", asn); return r; + } // Import flags - r = loc_network_set_flag(*network, be16toh(dbobj->flags)); - if (r) + int flags = be16toh(dbobj->flags); + r = loc_network_set_flag(*network, flags); + if (r) { + ERROR(ctx, "Could not set flags: %d\n", flags); return r; + } return 0; } -- 2.39.2