Diff for /rpl/src/gestion_fichiers.c between versions 1.7 and 1.8

version 1.7, 2010/03/07 17:03:29 version 1.8, 2010/03/08 14:28:20
Line 391  caracteristiques_fichier(struct_processu Line 391  caracteristiques_fichier(struct_processu
   
 static logical1  static logical1
 initialisation_controle(struct_processus *s_etat_processus, sqlite3 *sqlite,  initialisation_controle(struct_processus *s_etat_processus, sqlite3 *sqlite,
         logical1 fichier_indexe)          integer8 position_clef, logical1 fichier_indexe)
 {  {
     const char              commande1[] =      const char              commande1[] =
             "create table control(id integer primary key asc, lock text)";              "create table control(id integer primary key asc, key integer)";
     const char              commande2[] =      const char              commande2[] =
             "insert into control (id, lock) values (2, '0')";              "insert into control (id, key) values (1, %lld)";
     const char              *queue;      const char              *queue;
   
     sqlite3_stmt            *ppStmt;      sqlite3_stmt            *ppStmt;
   
       unsigned char           *commande;
   
     if (sqlite3_prepare_v2(sqlite, commande1, strlen(commande1), &ppStmt,      if (sqlite3_prepare_v2(sqlite, commande1, strlen(commande1), &ppStmt,
             &queue) != SQLITE_OK)              &queue) != SQLITE_OK)
     {      {
Line 422  initialisation_controle(struct_processus Line 424  initialisation_controle(struct_processus
   
     if (fichier_indexe == d_vrai)      if (fichier_indexe == d_vrai)
     {      {
         if (sqlite3_prepare_v2(sqlite, commande2, strlen(commande2), &ppStmt,          if (alsprintf(&commande, commande2, position_clef) < 0)
           {
               return(d_erreur);
           }
   
           if (sqlite3_prepare_v2(sqlite, commande, strlen(commande), &ppStmt,
                 &queue) != SQLITE_OK)                  &queue) != SQLITE_OK)
         {          {
               free(commande);
             (*s_etat_processus).erreur_systeme = d_es_erreur_fichier;              (*s_etat_processus).erreur_systeme = d_es_erreur_fichier;
             return(d_erreur);              return(d_erreur);
         }          }
   
         if (sqlite3_step(ppStmt) != SQLITE_DONE)          if (sqlite3_step(ppStmt) != SQLITE_DONE)
         {          {
               free(commande);
             (*s_etat_processus).erreur_systeme = d_es_erreur_fichier;              (*s_etat_processus).erreur_systeme = d_es_erreur_fichier;
             return(d_erreur);              return(d_erreur);
         }          }
   
         if (sqlite3_finalize(ppStmt) != SQLITE_OK)          if (sqlite3_finalize(ppStmt) != SQLITE_OK)
         {          {
               free(commande);
             (*s_etat_processus).erreur_systeme = d_es_erreur_fichier;              (*s_etat_processus).erreur_systeme = d_es_erreur_fichier;
             return(d_erreur);              return(d_erreur);
         }          }
   
           free(commande);
     }      }
   
     return(d_absence_erreur);      return(d_absence_erreur);
Line 447  initialisation_controle(struct_processus Line 459  initialisation_controle(struct_processus
   
 logical1  logical1
 initialisation_fichier_acces_indexe(struct_processus *s_etat_processus,  initialisation_fichier_acces_indexe(struct_processus *s_etat_processus,
         sqlite3 *sqlite, logical1 binaire)          sqlite3 *sqlite, integer8 position_clef, logical1 binaire)
 {  {
     const char              commande1[] =      const char              commande1[] =
             "create table data(id integer primary key asc, key_id integer, "              "create table data(id integer primary key asc, key_id integer, "
             "data text, order integer)";              "data text, sequence integer)";
     const char              commande10[] =      const char              commande10[] =
             "create table key(id integer primary key asc, key text)";              "create table key(id integer primary key asc, key text)";
     const char              commande2[] =      const char              commande2[] =
             "create table data(id integer primary key asc, key_id integer, "              "create table data(id integer primary key asc, key_id integer, "
             "data blob, order integer)";              "data blob, sequence integer)";
     const char              commande20[] =      const char              commande20[] =
             "create table key(id integer primary key asc, key blob)";              "create table key(id integer primary key asc, key blob)";
     const char              commande3[] =      const char              commande3[] =
Line 467  initialisation_fichier_acces_indexe(stru Line 479  initialisation_fichier_acces_indexe(stru
   
     sqlite3_stmt            *ppStmt;      sqlite3_stmt            *ppStmt;
   
     if (initialisation_controle(s_etat_processus, sqlite, d_vrai)      if (initialisation_controle(s_etat_processus, sqlite, position_clef, d_vrai)
             != d_absence_erreur)              != d_absence_erreur)
     {      {
         return(d_erreur);          return(d_erreur);
Line 609  initialisation_fichier_acces_direct(stru Line 621  initialisation_fichier_acces_direct(stru
   
     sqlite3_stmt            *ppStmt;      sqlite3_stmt            *ppStmt;
   
     if (initialisation_controle(s_etat_processus, sqlite, d_faux)      if (initialisation_controle(s_etat_processus, sqlite, (integer8) 0, d_faux)
             != d_absence_erreur)              != d_absence_erreur)
     {      {
         return(d_erreur);          return(d_erreur);

Removed from v.1.7  
changed lines
  Added in v.1.8


CVSweb interface <joel.bertrand@systella.fr>