#include <syslog.h>
#include <libloc/libloc.h>
+#include <libloc/address.h>
#include <libloc/database.h>
#include <libloc/network.h>
#include <libloc/private.h>
#endif
// Check if the first and last addresses are correct
- char* string = loc_network_format_first_address(network1);
+ const char* string = loc_network_format_first_address(network1);
if (!string) {
fprintf(stderr, "Did get NULL instead of a string for the first address\n");
exit(EXIT_FAILURE);
exit(EXIT_FAILURE);
}
- char* s = loc_network_str(subnet1);
+ const char* s = loc_network_str(subnet1);
printf("Received subnet1 = %s\n", s);
- free(s);
s = loc_network_str(subnet2);
printf("Received subnet2 = %s\n", s);
- free(s);
if (!loc_network_is_subnet(network1, subnet1)) {
fprintf(stderr, "Subnet1 is not a subnet\n");
// Try adding an invalid network
struct loc_network* network;
err = loc_writer_add_network(writer, &network, "xxxx:xxxx::/32");
- if (err != -EINVAL) {
+ if (!err) {
fprintf(stderr, "It was possible to add an invalid network (err = %d)\n", err);
exit(EXIT_FAILURE);
}
FILE* f = tmpfile();
if (!f) {
- fprintf(stderr, "Could not open file for writing: %s\n", strerror(errno));
+ fprintf(stderr, "Could not open file for writing: %m\n");
exit(EXIT_FAILURE);
}
err = loc_writer_write(writer, f, LOC_DATABASE_VERSION_UNSET);
if (err) {
- fprintf(stderr, "Could not write database: %s\n", strerror(-err));
+ fprintf(stderr, "Could not write database: %m\n");
exit(EXIT_FAILURE);
}
loc_writer_unref(writer);
struct loc_database* db;
err = loc_database_new(ctx, &db, f);
if (err) {
- fprintf(stderr, "Could not open database: %s\n", strerror(-err));
+ fprintf(stderr, "Could not open database: %m\n");
exit(EXIT_FAILURE);
}
fprintf(stderr, "Could look up 2001:db8:fffe:1::, but I shouldn't\n");
exit(EXIT_FAILURE);
}
- loc_network_unref(network1);
const struct bit_length_test {
const char* network;
{ "::/0", 0 },
{ "2001::/128", 126 },
{ "1.0.0.0/32", 25 },
+ { "0.0.0.1/32", 1 },
{ "255.255.255.255/32", 32 },
{ NULL, 0, },
};