--- rpl/src/rpl.c 2010/03/04 17:42:47 1.11 +++ rpl/src/rpl.c 2010/04/07 13:33:23 1.15 @@ -1,6 +1,6 @@ /* ================================================================================ - RPL/2 (R) version 4.0.12 + RPL/2 (R) version 4.0.13 Copyright (C) 1989-2010 Dr. BERTRAND Joël This file is part of RPL/2. @@ -171,11 +171,11 @@ rplinit(int argc, char *argv[], unsigned { if ((*s_etat_processus).langue == 'F') { - uprintf("+++Système : Mémoire insuffisante\n"); + printf("+++Système : Mémoire insuffisante\n"); } else { - uprintf("+++System : Not enough memory\n"); + printf("+++System : Not enough memory\n"); } return(EXIT_FAILURE); @@ -485,7 +485,7 @@ rplinit(int argc, char *argv[], unsigned (*s_etat_processus).chemin_fichiers_temporaires = recherche_chemin_fichiers_temporaires(s_etat_processus); - erreur = d_os; + erreur = d_absence_erreur; core = d_faux; mode_interactif = d_faux; (*s_etat_processus).nom_fichier_source = NULL; @@ -506,7 +506,7 @@ rplinit(int argc, char *argv[], unsigned if (argc == 1) { - erreur = d_os_ligne_de_commande; + erreur = d_erreur; informations(s_etat_processus); } else @@ -558,31 +558,6 @@ rplinit(int argc, char *argv[], unsigned } option_a = d_vrai; - printf("\n"); - - if ((*s_etat_processus).langue == 'F') - { - printf(" Auteur: Joël BERTRAND,\n"); - printf(" Email : " - "joel.bertrand@systella.fr\n"); - printf(" Liste de diffusion : " - "rpl2@systella.fr\n"); - printf(" Page : " - "http://www.rpl2.fr"); - printf("\n"); - } - else - { - printf(" Author: Joël BERTRAND,\n"); - printf(" Email : " - "joel.bertrand@systella.fr\n"); - printf(" Mailing list : " - "rpl2@systella.fr\n"); - printf(" Web page : " - "http://www.rpl2/net"); - printf("\n"); - } - break; } @@ -1384,7 +1359,7 @@ rplinit(int argc, char *argv[], unsigned printf("+++Error : More than one definition\n"); } - erreur = d_os_ligne_de_commande; + erreur = d_erreur; } else { @@ -1586,7 +1561,7 @@ rplinit(int argc, char *argv[], unsigned (*s_etat_processus).nom_fichier_source); } - erreur = d_os_fichier_introuvable; + erreur = d_erreur; } else { @@ -1633,7 +1608,7 @@ rplinit(int argc, char *argv[], unsigned } } - if ((erreur == d_os) && (presence_definition == 'O')) + if ((erreur == d_absence_erreur) && (presence_definition == 'O')) { (*s_etat_processus).profilage = (option_P != 0) ? d_vrai : d_faux; (*s_etat_processus).niveau_profilage = option_P; @@ -1648,6 +1623,7 @@ rplinit(int argc, char *argv[], unsigned (*s_etat_processus).affichage_arguments = 'N'; (*s_etat_processus).autorisation_conversion_chaine = 'Y'; (*s_etat_processus).autorisation_evaluation_nom = 'Y'; + (*s_etat_processus).autorisation_nom_implicite = 'Y'; (*s_etat_processus).autorisation_empilement_programme = 'N'; (*s_etat_processus).requete_arret = 'N'; (*s_etat_processus).evaluation_forcee = 'N'; @@ -2547,23 +2523,31 @@ rplinit(int argc, char *argv[], unsigned free(arguments); } - if (option_D == d_vrai) + if (option_a == d_vrai) { - lancement_daemon(s_etat_processus); + fprintf(stdout, "%s\n", (*s_etat_processus) + .definitions_chainees); } - - if (option_p == d_faux) + else { - if (setjmp(contexte_initial) == 0) + if (option_D == d_vrai) { - erreur = sequenceur(s_etat_processus); + lancement_daemon(s_etat_processus); } - } - else - { - if (setjmp(contexte_initial) == 0) + + if (option_p == d_faux) + { + if (setjmp(contexte_initial) == 0) + { + erreur = sequenceur(s_etat_processus); + } + } + else { - erreur = sequenceur_optimise(s_etat_processus); + if (setjmp(contexte_initial) == 0) + { + erreur = sequenceur_optimise(s_etat_processus); + } } } @@ -3190,7 +3174,17 @@ rplinit(int argc, char *argv[], unsigned fclose((*((struct_descripteur_fichier *) (*((struct_liste_chainee *) l_element_courant)).donnee)) - .descripteur); + .descripteur_c); + + if ((*((struct_descripteur_fichier *) + (*((struct_liste_chainee *) + l_element_courant)).donnee)).type != 'C') + { + sqlite3_close((*((struct_descripteur_fichier *) + (*((struct_liste_chainee *) + l_element_courant)).donnee)) + .descripteur_sqlite); + } if ((*((struct_descripteur_fichier *) (*((struct_liste_chainee *) @@ -3352,7 +3346,7 @@ rplinit(int argc, char *argv[], unsigned debug_memoire_verification(s_etat_processus); # endif - return((erreur == d_os) ? EXIT_SUCCESS : EXIT_FAILURE); + return((erreur == d_absence_erreur) ? EXIT_SUCCESS : EXIT_FAILURE); } @@ -3364,7 +3358,7 @@ informations(struct_processus *s_etat_pr if ((*s_etat_processus).langue == 'F') { printf(" rpl [-options] [programme]\n"); - printf(" -a : informations sur l'auteur\n"); + printf(" -a : analyse du code\n"); printf(" -A : paramètres passés au programme principal\n"); printf(" -c : génération de fichier de débogage (rpl-core)\n"); printf(" -d : option de déverminage interne\n"); @@ -3383,7 +3377,7 @@ informations(struct_processus *s_etat_pr else { printf(" rpl [-options] [program]\n"); - printf(" -a : displays informations about the author\n"); + printf(" -a : analyzes program\n"); printf(" -A : sends parameters to main program\n"); printf(" -c : allows creation of a rpl-core file, providing a way" "\n"