Diff for /rpl/src/sql.c between versions 1.42 and 1.43

version 1.42, 2012/12/19 09:58:28 version 1.43, 2012/12/20 15:32:52
Line 38 Line 38
 struct_objet *  struct_objet *
 parametres_sql(struct_processus *s_etat_processus, struct_objet *s_parametres)  parametres_sql(struct_processus *s_etat_processus, struct_objet *s_parametres)
 {  {
 #if defined(MYSQL_SUPPORT) || defined(POSTGRESQL_SUPPORT)  
     struct_liste_chainee            *l_element_courant;      struct_liste_chainee            *l_element_courant;
   
     struct_objet                    *s_connecteur;      struct_objet                    *s_connecteur;
Line 46  parametres_sql(struct_processus *s_etat_ Line 45  parametres_sql(struct_processus *s_etat_
     unsigned char                   *locale;      unsigned char                   *locale;
     unsigned char                   *type_base;      unsigned char                   *type_base;
     unsigned char                   *serveur;      unsigned char                   *serveur;
   #   if defined(MYSQL_SUPPORT) || defined(POSTGRESQL_SUPPORT)
     unsigned char                   *base;      unsigned char                   *base;
     unsigned char                   *utilisateur;      unsigned char                   *utilisateur;
     unsigned char                   *mot_de_passe;      unsigned char                   *mot_de_passe;
Line 54  parametres_sql(struct_processus *s_etat_ Line 54  parametres_sql(struct_processus *s_etat_
 #   endif  #   endif
   
     unsigned int                    port;      unsigned int                    port;
   #   endif
   
     if ((*s_parametres).type != LST)      if ((*s_parametres).type != LST)
     {      {
Line 95  parametres_sql(struct_processus *s_etat_ Line 96  parametres_sql(struct_processus *s_etat_
      */       */
   
     if ((strcmp(type_base, "MYSQL") != 0) &&      if ((strcmp(type_base, "MYSQL") != 0) &&
             (strcmp(type_base, "POSTGRESQL") != 0))              (strcmp(type_base, "POSTGRESQL") != 0) &&
               (strcmp(type_base, "SQLITE") != 0))
     {      {
         (*s_etat_processus).erreur_execution = d_ex_argument_invalide;          (*s_etat_processus).erreur_execution = d_ex_argument_invalide;
         return(NULL);          return(NULL);
Line 158  parametres_sql(struct_processus *s_etat_ Line 160  parametres_sql(struct_processus *s_etat_
   
     serveur = (unsigned char *) (*(*l_element_courant).donnee).objet;      serveur = (unsigned char *) (*(*l_element_courant).donnee).objet;
   
       // Dans le cas d'une base de données SQLite, seul le nom du fichier
       // importe.
   
       if (strcmp(type_base, "SQLITE") == 0)
       {
           if ((*l_element_courant).suivant != NULL)
           {
               liberation(s_etat_processus, s_connecteur);
               (*s_etat_processus).erreur_execution = d_ex_argument_invalide;
               return(NULL);
           }
   
           (*((struct_connecteur_sql *) (*s_connecteur).objet)).descripteur.sqlite
                   = NULL;
   
           if (sqlite3_open_v2(serveur, &((*((struct_connecteur_sql *)
                   (*s_connecteur).objet)).descripteur.sqlite),
                   SQLITE_OPEN_READWRITE, NULL) != SQLITE_OK)
           {
               if ((*((struct_connecteur_sql *) (*s_connecteur).objet))
                       .descripteur.sqlite != NULL)
               {
                   sqlite3_close((*((struct_connecteur_sql *)
                           (*s_connecteur).objet)).descripteur.sqlite);
               }
   
               liberation(s_etat_processus, s_connecteur);
               (*s_etat_processus).erreur_execution = d_ex_erreur_sql;
               return(NULL);
           }
   
           return(s_connecteur);
       }
       else
       {
   #       if !(defined(MYSQL_SUPPORT) || defined(POSTGRESQL_SUPPORT))
           if ((*s_etat_processus).langue == 'F')
           {
               printf("+++Attention : Support de %s non compilé !\n", type_base);
           }
           else
           {
               printf("+++Warning : %s support not available !\n", type_base);
           }
   #       endif
       }
   
   #   if defined(MYSQL_SUPPORT) || defined(POSTGRESQL_SUPPORT)
     // Recherche du nom de la base de données      // Recherche du nom de la base de données
   
     l_element_courant = (*l_element_courant).suivant;      l_element_courant = (*l_element_courant).suivant;
Line 353  parametres_sql(struct_processus *s_etat_ Line 403  parametres_sql(struct_processus *s_etat_
         (*s_etat_processus).erreur_execution = d_ex_argument_invalide;          (*s_etat_processus).erreur_execution = d_ex_argument_invalide;
         return(NULL);          return(NULL);
     }      }
   #   endif
   
     return(s_connecteur);      return(s_connecteur);
 #else  
     return(NULL);  
 #endif  
 }  }
   
 // vim: ts=4  // vim: ts=4

Removed from v.1.42  
changed lines
  Added in v.1.43


CVSweb interface <joel.bertrand@systella.fr>