diff --git a/src/main.c b/src/main.c index 1247944..61c965f 100644 --- a/src/main.c +++ b/src/main.c @@ -312,16 +312,19 @@ int main(int argc, char** argv) { sqlite3_close(dbh); return EXIT_FAILURE; } + // Purge db if a rescan is needed + if (1 == args_info.rescan_flag) { + dberr = sqlite3_exec(dbh, "BEGIN TRANSACTION; DELETE FROM distances; DELETE FROM songs; COMMIT", NULL, NULL, NULL); + if (SQLITE_OK != dberr) { + fprintf(stderr, "Error purging existing data in db: %s.\n", sqlite3_errmsg(dbh)); + return EXIT_FAILURE; + } + } + // Close db connection sqlite3_close(dbh); // Check if a full rescan is needed if (1 == args_info.rescan_flag) { - dberr = sqlite3_exec(dbh, "BEGIN TRANSACTION; DELETE FROM distances; DELETE FROM songs; COMMIT"); - if (SQLITE_OK != dberr) { - fprintf(stderr, "Error purging existing data in db: %s.\n", sqlite3_errmsg(dbh)); - sqlite3_close(dbh); - return EXIT_FAILURE; - } update_database(conn, last_mtime, mpd_base_path); } // Else, if we requested an update of the db