FILE* f;
- unsigned int version;
+ enum loc_database_version version;
time_t created_at;
off_t vendor;
off_t description;
DEBUG(db->ctx, "Magic value matches\n");
// Parse version
- db->version = be16toh(magic.version);
- DEBUG(db->ctx, "Database version is %u\n", db->version);
+ db->version = magic.version;
return 0;
}
- ERROR(db->ctx, "Database format is not compatible\n");
+ ERROR(db->ctx, "Unrecognized file type\n");
// Return an error
return 1;
}
static int loc_database_read_header(struct loc_database* db) {
+ DEBUG(db->ctx, "Database version is %u\n", db->version);
+
switch (db->version) {
- case 0:
+ case LOC_DATABASE_VERSION_1:
return loc_database_read_header_v1(db);
default:
struct loc_database_header_v1 header_v1;
switch (db->version) {
- case 0:
+ case LOC_DATABASE_VERSION_1:
fread(&header_v1, 1, sizeof(header_v1), db->f);
// Clear signature
int r;
switch (db->version) {
- case 0:
+ case LOC_DATABASE_VERSION_1:
r = loc_as_new_from_database_v1(db->ctx, db->pool, as, db->as_v1 + pos);
break;
int r;
switch (db->version) {
- case 0:
+ case LOC_DATABASE_VERSION_1:
r = loc_network_new_from_database_v1(db->ctx, network,
address, prefix, db->networks_v1 + pos);
break;
int r;
switch (db->version) {
- case 0:
+ case LOC_DATABASE_VERSION_1:
r = loc_country_new_from_database_v1(db->ctx, db->pool, country, db->countries_v1 + pos);
break;