--- rpl/src/instructions_s10.c 2012/08/22 10:47:17 1.61 +++ rpl/src/instructions_s10.c 2013/02/26 19:56:16 1.68 @@ -1,7 +1,7 @@ /* ================================================================================ - RPL/2 (R) version 4.1.10 - Copyright (C) 1989-2012 Dr. BERTRAND Joël + RPL/2 (R) version 4.1.12 + Copyright (C) 1989-2013 Dr. BERTRAND Joël This file is part of RPL/2. @@ -130,26 +130,12 @@ instruction_spawn(struct_processus *s_et { if ((*(*s_etat_processus).pointeur_variable_courante).objet == NULL) { - if (pthread_mutex_lock(&((*(*s_etat_processus) - .s_liste_variables_partagees).mutex)) != 0) - { - (*s_etat_processus).erreur_systeme = d_es_processus; - return; - } - if (recherche_variable_partagee(s_etat_processus, (*(*s_etat_processus).pointeur_variable_courante).nom, (*(*s_etat_processus).pointeur_variable_courante) .variable_partagee, (*(*s_etat_processus) - .pointeur_variable_courante).origine) == d_faux) + .pointeur_variable_courante).origine) == NULL) { - if (pthread_mutex_unlock(&((*(*s_etat_processus) - .s_liste_variables_partagees).mutex)) != 0) - { - (*s_etat_processus).erreur_systeme = d_es_processus; - return; - } - liberation(s_etat_processus, s_objet); (*s_etat_processus).erreur_systeme = d_es; @@ -158,16 +144,14 @@ instruction_spawn(struct_processus *s_et return; } - if (((*(*(*s_etat_processus).s_liste_variables_partagees) - .table[(*(*s_etat_processus) - .s_liste_variables_partagees).position_variable].objet) - .type != RPN) && ((*(*(*s_etat_processus) - .s_liste_variables_partagees).table - [(*(*s_etat_processus).s_liste_variables_partagees) - .position_variable].objet).type != ADR)) + if (((*(*(*s_etat_processus) + .pointeur_variable_partagee_courante).objet).type + != RPN) && ((*(*(*s_etat_processus) + .pointeur_variable_partagee_courante).objet).type + != ADR)) { if (pthread_mutex_unlock(&((*(*s_etat_processus) - .s_liste_variables_partagees).mutex)) != 0) + .pointeur_variable_partagee_courante).mutex)) != 0) { (*s_etat_processus).erreur_systeme = d_es_processus; return; @@ -182,12 +166,11 @@ instruction_spawn(struct_processus *s_et if ((s_copie = copie_objet(s_etat_processus, (*(*s_etat_processus) - .s_liste_variables_partagees).table - [(*(*s_etat_processus).s_liste_variables_partagees) - .position_variable].objet, 'P')) == NULL) + .pointeur_variable_partagee_courante).objet, 'P')) + == NULL) { if (pthread_mutex_unlock(&((*(*s_etat_processus) - .s_liste_variables_partagees).mutex)) != 0) + .pointeur_variable_partagee_courante).mutex)) != 0) { (*s_etat_processus).erreur_systeme = d_es_processus; return; @@ -202,7 +185,7 @@ instruction_spawn(struct_processus *s_et variable_partagee = d_vrai; if (pthread_mutex_unlock(&((*(*s_etat_processus) - .s_liste_variables_partagees).mutex)) != 0) + .pointeur_variable_partagee_courante).mutex)) != 0) { (*s_etat_processus).erreur_systeme = d_es_processus; return; @@ -674,6 +657,7 @@ instruction_sqlconnect(struct_processus printf(" { \"mysql\" \"server\" \"database\" " "\"user\" \"password\" } SQLCONNECT\n"); + printf(" { \"sqlite\" \"file\" } SQLCONNECT\n"); printf(" { \"postgresql:iso-8859-1\" \"server\" " "\"database\" \"user\" \"password\" port }\n"); printf(" SQLCONNECT\n"); @@ -906,6 +890,21 @@ instruction_sqldisconnect(struct_process drapeau = d_faux; # endif } + else if (strcmp((*((struct_connecteur_sql *) (*s_objet).objet)) + .type, "SQLITE") == 0) + { + if ((*((struct_connecteur_sql *) (*(*l_element_courant) + .donnee).objet)).descripteur.sqlite == + (*((struct_connecteur_sql *) (*s_objet).objet)) + .descripteur.sqlite) + { + drapeau = d_vrai; + } + else + { + drapeau = d_faux; + } + } else { BUG(1, printf("SQL type '%s' not allowed!",