--- rpl/src/instructions_s10.c 2012/12/19 09:58:26 1.66 +++ rpl/src/instructions_s10.c 2013/05/21 12:10:12 1.74 @@ -1,7 +1,7 @@ /* ================================================================================ - RPL/2 (R) version 4.1.12 - Copyright (C) 1989-2012 Dr. BERTRAND Joël + RPL/2 (R) version 4.1.14 + Copyright (C) 1989-2013 Dr. BERTRAND Joël This file is part of RPL/2. @@ -233,7 +233,7 @@ instruction_spawn(struct_processus *s_et return; } - if (pipe((*s_argument_thread).pipe_nombre_interruptions_attente) != 0) + if (pipe((*s_argument_thread).pipe_nombre_elements_attente) != 0) { (*s_etat_processus).erreur_systeme = d_es_processus; return; @@ -251,12 +251,6 @@ instruction_spawn(struct_processus *s_et return; } - if (pipe((*s_argument_thread).pipe_nombre_objets_attente) != 0) - { - (*s_etat_processus).erreur_systeme = d_es_processus; - return; - } - if (pipe((*s_argument_thread).pipe_injections) != 0) { (*s_etat_processus).erreur_systeme = d_es_processus; @@ -293,12 +287,10 @@ instruction_spawn(struct_processus *s_et (*s_nouvel_etat_processus).pipe_donnees = (*s_argument_thread).pipe_objets[1]; - (*s_nouvel_etat_processus).pipe_nombre_objets_attente = - (*s_argument_thread).pipe_nombre_objets_attente[1]; + (*s_nouvel_etat_processus).pipe_nombre_elements_attente = + (*s_argument_thread).pipe_nombre_elements_attente[1]; (*s_nouvel_etat_processus).pipe_interruptions = (*s_argument_thread).pipe_interruptions[1]; - (*s_nouvel_etat_processus).pipe_nombre_interruptions_attente = - (*s_argument_thread).pipe_nombre_interruptions_attente[1]; (*s_nouvel_etat_processus).pipe_injections = (*s_argument_thread).pipe_injections[0]; (*s_nouvel_etat_processus).pipe_nombre_injections = @@ -657,6 +649,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"); @@ -889,6 +882,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!", @@ -1260,7 +1268,8 @@ instruction_smphrtrydecr(struct_processu return; } - horodatage.tv_sec += (*((integer8 *) (*s_objet_argument_1).objet)); + horodatage.tv_sec += (time_t) (*((integer8 *) + (*s_objet_argument_1).objet)); } else { @@ -1274,7 +1283,7 @@ instruction_smphrtrydecr(struct_processu } partie_entiere = floor((*((real8 *) (*s_objet_argument_1).objet))); - horodatage.tv_sec += partie_entiere; + horodatage.tv_sec += (time_t) partie_entiere; horodatage.tv_usec += ((suseconds_t) ((*((real8 *) (*s_objet_argument_1).objet)) - partie_entiere)) * 1000000; @@ -1631,8 +1640,8 @@ instruction_svd(struct_processus *s_etat struct_vecteur s_vecteur; - unsigned long i; - unsigned long j; + integer8 i; + integer8 j; (*s_etat_processus).erreur_execution = d_ex; @@ -1724,8 +1733,8 @@ instruction_svd(struct_processus *s_etat .nombre_lignes; if (((*((struct_matrice *) (*s_objet_resultat_2).objet)).tableau = - malloc((*((struct_matrice *) (*s_objet_resultat_2).objet)) - .nombre_lignes * sizeof(real8 *))) == NULL) + malloc(((size_t) (*((struct_matrice *) (*s_objet_resultat_2) + .objet)).nombre_lignes) * sizeof(real8 *))) == NULL) { (*s_etat_processus).erreur_systeme = d_es_allocation_memoire; return; @@ -1735,9 +1744,9 @@ instruction_svd(struct_processus *s_etat .nombre_lignes; i++) { if ((((real8 **) (*((struct_matrice *) (*s_objet_resultat_2) - .objet)).tableau)[i] = malloc((*((struct_matrice *) - (*s_objet_resultat_2).objet)).nombre_colonnes * - sizeof(real8 *))) == NULL) + .objet)).tableau)[i] = malloc(((size_t) + (*((struct_matrice *) (*s_objet_resultat_2).objet)) + .nombre_colonnes) * sizeof(real8 *))) == NULL) { (*s_etat_processus).erreur_systeme = d_es_allocation_memoire; return; @@ -1824,8 +1833,8 @@ instruction_svd(struct_processus *s_etat .nombre_lignes; if (((*((struct_matrice *) (*s_objet_resultat_2).objet)).tableau = - malloc((*((struct_matrice *) (*s_objet_resultat_2).objet)) - .nombre_lignes * sizeof(real8 *))) == NULL) + malloc(((size_t) (*((struct_matrice *) (*s_objet_resultat_2) + .objet)).nombre_lignes) * sizeof(real8 *))) == NULL) { (*s_etat_processus).erreur_systeme = d_es_allocation_memoire; return; @@ -1835,9 +1844,9 @@ instruction_svd(struct_processus *s_etat .nombre_lignes; i++) { if ((((real8 **) (*((struct_matrice *) (*s_objet_resultat_2) - .objet)).tableau)[i] = malloc((*((struct_matrice *) - (*s_objet_resultat_2).objet)).nombre_colonnes * - sizeof(real8 *))) == NULL) + .objet)).tableau)[i] = malloc(((size_t) + (*((struct_matrice *) (*s_objet_resultat_2).objet)) + .nombre_colonnes) * sizeof(real8 *))) == NULL) { (*s_etat_processus).erreur_systeme = d_es_allocation_memoire; return;