static void journal_commit_record(GQueue *queue, struct record *record) { if (record->artist != NULL && record->track != NULL) { /* append record to the queue; reuse allocated strings */ g_queue_push_tail(queue, g_memdup(record, sizeof(*record))); journal_file_empty = false; } else { /* free and clear the record, it was not used */ record_deinit(record); } record_clear(record); }
void record_free(struct record *record) { record_deinit(record); g_free(record); }