+LOC_EXPORT struct loc_network* loc_network_list_pop_first(struct loc_network_list* list) {
+ // Return nothing when empty
+ if (loc_network_list_empty(list)) {
+ DEBUG(list->ctx, "%p: Popped empty stack\n", list);
+ return NULL;
+ }
+
+ struct loc_network* network = list->list[0];
+
+ // Move all elements to the top of the stack
+ for (unsigned int i = 0; i < --list->size; i++) {
+ list->list[i] = list->list[i+1];
+ }
+
+ DEBUG(list->ctx, "%p: Popping network %p from stack\n", list, network);
+
+ return network;
+}
+