-int loc_as_to_database_v0(struct loc_as* as, struct loc_database_as_v0* dbobj) {
- dbobj->number = htonl(as->number);
- dbobj->name = htonl(as->name);
+int loc_as_to_database_v0(struct loc_as* as, struct loc_stringpool* pool,
+ struct loc_database_as_v0* dbobj) {
+ dbobj->number = htobe32(as->number);
+
+ // Save the name string in the string pool
+ off_t name = loc_stringpool_add(pool, as->name ? as->name : "");
+ dbobj->name = htobe32(name);
+
+ return 0;
+}
+
+int loc_as_match_string(struct loc_as* as, const char* string) {
+ // Search if string is in name
+ if (strcasestr(as->name, string) != NULL)
+ return 1;