--- rpl/src/instructions_w1.c 2010/03/08 14:28:20 1.8 +++ rpl/src/instructions_w1.c 2010/03/08 16:44:10 1.9 @@ -462,16 +462,16 @@ instruction_write(struct_processus *s_et if ((*(*(*s_etat_processus).l_base_pile).donnee).type == FCH) { if ((*((struct_fichier *) (*(*(*s_etat_processus).l_base_pile) - .donnee).objet)).acces == 'S') + .donnee).objet)).acces == 'D') { - if (empilement_pile_last(s_etat_processus, 2) == d_erreur) + if (empilement_pile_last(s_etat_processus, 3) == d_erreur) { return; } } else { - if (empilement_pile_last(s_etat_processus, 3) == d_erreur) + if (empilement_pile_last(s_etat_processus, 2) == d_erreur) { return; } @@ -686,11 +686,8 @@ instruction_write(struct_processus *s_et "(id, data) values (%lld, '%s')", (*((integer8 *) (*s_objet_argument_2).objet)), chaine_utf8) < 0) { - free(chaine_utf8); - liberation(s_etat_processus, s_objet_argument_3); - liberation(s_etat_processus, s_objet_argument_2); - liberation(s_etat_processus, s_objet_argument_1); - + (*s_etat_processus).erreur_systeme = + d_es_allocation_memoire; return; } @@ -733,14 +730,13 @@ instruction_write(struct_processus *s_et return; } - // Récupération de la valeur de la clef + // Récupération de la position de la clef if (alsprintf(&commande, "select key from control " "where id = 1") < 0) { - liberation(s_etat_processus, s_objet_argument_2); - liberation(s_etat_processus, s_objet_argument_1); - + (*s_etat_processus).erreur_systeme = + d_es_allocation_memoire; return; } @@ -748,22 +744,19 @@ instruction_write(struct_processus *s_et commande, strlen(commande), &ppStmt, &queue) != SQLITE_OK) { - (*s_etat_processus).erreur_systeme = - d_es_erreur_fichier; + (*s_etat_processus).erreur_systeme = d_es_erreur_fichier; return; } if (sqlite3_step(ppStmt) != SQLITE_ROW) { - (*s_etat_processus).erreur_systeme = - d_es_erreur_fichier; + (*s_etat_processus).erreur_systeme = d_es_erreur_fichier; return; } if (sqlite3_column_type(ppStmt, 0) != SQLITE_INTEGER) { - (*s_etat_processus).erreur_systeme = - d_es_erreur_fichier; + (*s_etat_processus).erreur_systeme = d_es_erreur_fichier; return; } @@ -771,15 +764,13 @@ instruction_write(struct_processus *s_et if (sqlite3_step(ppStmt) != SQLITE_DONE) { - (*s_etat_processus).erreur_systeme = - d_es_erreur_fichier; + (*s_etat_processus).erreur_systeme = d_es_erreur_fichier; return; } if (sqlite3_finalize(ppStmt) != SQLITE_OK) { - (*s_etat_processus).erreur_systeme = - d_es_erreur_fichier; + (*s_etat_processus).erreur_systeme = d_es_erreur_fichier; return; } @@ -901,11 +892,8 @@ instruction_write(struct_processus *s_et if (alsprintf(&commande, "select id from key where key = " "'%s'", clef_utf8) < 0) { - free(clef_utf8); - - liberation(s_etat_processus, s_objet_argument_2); - liberation(s_etat_processus, s_objet_argument_1); - + (*s_etat_processus).erreur_systeme = + d_es_allocation_memoire; return; } @@ -913,9 +901,7 @@ instruction_write(struct_processus *s_et commande, strlen(commande), &ppStmt, &queue) != SQLITE_OK) { - free(clef_utf8); - (*s_etat_processus).erreur_systeme = - d_es_erreur_fichier; + (*s_etat_processus).erreur_systeme = d_es_erreur_fichier; return; } @@ -937,7 +923,6 @@ instruction_write(struct_processus *s_et if (sqlite3_finalize(ppStmt) != SQLITE_OK) { - free(clef_utf8); (*s_etat_processus).erreur_systeme = d_es_erreur_fichier; return; @@ -948,11 +933,8 @@ instruction_write(struct_processus *s_et if (alsprintf(&commande, "insert into key " "(key) values ('%s')", clef_utf8) < 0) { - free(clef_utf8); - - liberation(s_etat_processus, s_objet_argument_2); - liberation(s_etat_processus, s_objet_argument_1); - + (*s_etat_processus).erreur_systeme = + d_es_allocation_memoire; return; } @@ -961,7 +943,6 @@ instruction_write(struct_processus *s_et commande, strlen(commande), &ppStmt, &queue) != SQLITE_OK) { - free(clef_utf8); (*s_etat_processus).erreur_systeme = d_es_erreur_fichier; return; @@ -969,7 +950,6 @@ instruction_write(struct_processus *s_et if (sqlite3_step(ppStmt) != SQLITE_DONE) { - free(clef_utf8); (*s_etat_processus).erreur_systeme = d_es_erreur_fichier; return; @@ -977,7 +957,6 @@ instruction_write(struct_processus *s_et if (sqlite3_finalize(ppStmt) != SQLITE_OK) { - free(clef_utf8); (*s_etat_processus).erreur_systeme = d_es_erreur_fichier; return; @@ -988,11 +967,8 @@ instruction_write(struct_processus *s_et if (alsprintf(&commande, "select id from key " "where key = '%s'", clef_utf8) < 0) { - free(clef_utf8); - - liberation(s_etat_processus, s_objet_argument_2); - liberation(s_etat_processus, s_objet_argument_1); - + (*s_etat_processus).erreur_systeme = + d_es_allocation_memoire; return; } @@ -1001,7 +977,6 @@ instruction_write(struct_processus *s_et commande, strlen(commande), &ppStmt, &queue) != SQLITE_OK) { - free(clef_utf8); (*s_etat_processus).erreur_systeme = d_es_erreur_fichier; return; @@ -1009,7 +984,6 @@ instruction_write(struct_processus *s_et if (sqlite3_step(ppStmt) != SQLITE_ROW) { - free(clef_utf8); (*s_etat_processus).erreur_systeme = d_es_erreur_fichier; return; @@ -1020,7 +994,6 @@ instruction_write(struct_processus *s_et default: { - free(clef_utf8); (*s_etat_processus).erreur_systeme = d_es_erreur_fichier; return; @@ -1029,8 +1002,7 @@ instruction_write(struct_processus *s_et if (sqlite3_column_type(ppStmt, 0) != SQLITE_INTEGER) { - (*s_etat_processus).erreur_systeme = - d_es_erreur_fichier; + (*s_etat_processus).erreur_systeme = d_es_erreur_fichier; return; } @@ -1038,16 +1010,13 @@ instruction_write(struct_processus *s_et if (sqlite3_step(ppStmt) != SQLITE_DONE) { - (*s_etat_processus).erreur_systeme = - d_es_erreur_fichier; + (*s_etat_processus).erreur_systeme = d_es_erreur_fichier; return; } if (sqlite3_finalize(ppStmt) != SQLITE_OK) { - free(clef_utf8); - (*s_etat_processus).erreur_systeme = - d_es_erreur_fichier; + (*s_etat_processus).erreur_systeme = d_es_erreur_fichier; return; } @@ -1060,11 +1029,8 @@ instruction_write(struct_processus *s_et if (alsprintf(&commande, "update key set key = '%s' where " "id = %lld", clef_utf8, id) < 0) { - free(clef_utf8); - - liberation(s_etat_processus, s_objet_argument_2); - liberation(s_etat_processus, s_objet_argument_1); - + (*s_etat_processus).erreur_systeme = + d_es_allocation_memoire; return; } @@ -1072,7 +1038,6 @@ instruction_write(struct_processus *s_et commande, strlen(commande), &ppStmt, &queue) != SQLITE_OK) { - free(clef_utf8); (*s_etat_processus).erreur_systeme = d_es_erreur_fichier; return; @@ -1080,7 +1045,6 @@ instruction_write(struct_processus *s_et if (sqlite3_step(ppStmt) != SQLITE_DONE) { - free(clef_utf8); (*s_etat_processus).erreur_systeme = d_es_erreur_fichier; return; @@ -1088,7 +1052,6 @@ instruction_write(struct_processus *s_et if (sqlite3_finalize(ppStmt) != SQLITE_OK) { - free(clef_utf8); (*s_etat_processus).erreur_systeme = d_es_erreur_fichier; return; @@ -1102,11 +1065,8 @@ instruction_write(struct_processus *s_et if (alsprintf(&commande, "delete from data where " "key_id = %lld", id) < 0) { - free(clef_utf8); - - liberation(s_etat_processus, s_objet_argument_2); - liberation(s_etat_processus, s_objet_argument_1); - + (*s_etat_processus).erreur_systeme = + d_es_allocation_memoire; return; } @@ -1114,25 +1074,19 @@ instruction_write(struct_processus *s_et commande, strlen(commande), &ppStmt, &queue) != SQLITE_OK) { - free(clef_utf8); - (*s_etat_processus).erreur_systeme = - d_es_erreur_fichier; + (*s_etat_processus).erreur_systeme = d_es_erreur_fichier; return; } if (sqlite3_step(ppStmt) != SQLITE_DONE) { - free(clef_utf8); - (*s_etat_processus).erreur_systeme = - d_es_erreur_fichier; + (*s_etat_processus).erreur_systeme = d_es_erreur_fichier; return; } if (sqlite3_finalize(ppStmt) != SQLITE_OK) { - free(clef_utf8); - (*s_etat_processus).erreur_systeme = - d_es_erreur_fichier; + (*s_etat_processus).erreur_systeme = d_es_erreur_fichier; return; } @@ -1219,6 +1173,7 @@ instruction_write(struct_processus *s_et 'F', &longueur_effective, &recursivite)) == NULL) { free(clef_utf8); + liberation(s_etat_processus, s_element); liberation(s_etat_processus, s_format); liberation(s_etat_processus, s_objet_argument_2); @@ -1245,11 +1200,8 @@ instruction_write(struct_processus *s_et "(data, key_id, sequence) values " "('%s', %lld, %lld)", chaine_utf8, id, ordre) < 0) { - free(chaine_utf8); - free(clef_utf8); - liberation(s_etat_processus, s_objet_argument_2); - liberation(s_etat_processus, s_objet_argument_1); - + (*s_etat_processus).erreur_systeme = + d_es_allocation_memoire; return; } @@ -1257,7 +1209,6 @@ instruction_write(struct_processus *s_et commande, strlen(commande), &ppStmt, &queue) != SQLITE_OK) { - free(clef_utf8); (*s_etat_processus).erreur_systeme = d_es_erreur_fichier; return; @@ -1265,7 +1216,6 @@ instruction_write(struct_processus *s_et if (sqlite3_step(ppStmt) != SQLITE_DONE) { - free(clef_utf8); (*s_etat_processus).erreur_systeme = d_es_erreur_fichier; return; @@ -1273,7 +1223,6 @@ instruction_write(struct_processus *s_et if (sqlite3_finalize(ppStmt) != SQLITE_OK) { - free(clef_utf8); (*s_etat_processus).erreur_systeme = d_es_erreur_fichier; return;