Skip to content
Extraits de code Groupes Projets

Resolve "Segfault on exit"

2 files
+ 2
4
Comparer les modifications
  • Côte à côte
  • En ligne

Fichiers

+ 2
2
@@ -293,7 +293,8 @@ database_queue_del_id(volatile sqlite3 *db, int id)
{
static const char *SQL_TEMPLATE =
"BEGIN TRANSACTION;"
"CREATE TEMPORARY TABLE queue_tmp (position INTEGER, kara_id INTEGER, priority INTEGER);"
"CREATE TEMPORARY TABLE IF NOT EXISTS queue_tmp (position INTEGER, kara_id INTEGER, priority INTEGER);"
"DELETE FROM queue_tmp;"
/* Move the current 'pointer' */
"UPDATE queue_state SET current = (SELECT NULLIF(COUNT(position), 0) FROM queue JOIN queue_state ON position <= current AND kara_id != %d);"
"DELETE FROM queue WHERE kara_id = %d;" /* Delete any kara with the specified id */
@@ -301,7 +302,6 @@ database_queue_del_id(volatile sqlite3 *db, int id)
"DELETE FROM queue;"
"INSERT INTO queue(priority, position, kara_id) SELECT priority, ROW_NUMBER() OVER(ORDER BY position ASC), kara_id FROM queue_tmp;"
"UPDATE sqlite_sequence SET seq = (SELECT COUNT(*) FROM queue) WHERE name = 'queue';" /* Update the sqlite_sequence */
"DROP TABLE queue_tmp;" /* Erase queue_tmp */
"COMMIT;";
char SQL[LKT_MAX_SQLITE_STATEMENT];
safe_snprintf(SQL, LKT_MAX_SQLITE_STATEMENT, SQL_TEMPLATE, id, id);
Chargement en cours