--- rpl/src/interface_tex.c 2012/01/05 10:19:05 1.36 +++ rpl/src/interface_tex.c 2017/08/03 17:17:50 1.66 @@ -1,7 +1,7 @@ /* ================================================================================ - RPL/2 (R) version 4.1.5 - Copyright (C) 1989-2012 Dr. BERTRAND Joël + RPL/2 (R) version 4.1.28 + Copyright (C) 1989-2017 Dr. BERTRAND Joël This file is part of RPL/2. @@ -497,10 +497,10 @@ formateur_elementaire_tex(struct_process unsigned char test_instruction; unsigned char *tampon; - unsigned long i; - unsigned long j; - unsigned long niveau; - unsigned long nombre_arguments; + integer8 i; + integer8 j; + integer8 niveau; + integer8 nombre_arguments; /* * Entier binaire @@ -582,7 +582,7 @@ formateur_elementaire_tex(struct_process if ((*s_etat_processus).instruction_valide == 'Y') { - if ((instruction_majuscule = conversion_majuscule( + if ((instruction_majuscule = conversion_majuscule(s_etat_processus, (*s_etat_processus).instruction_courante)) == NULL) { (*s_etat_processus).erreur_systeme = d_es_allocation_memoire; @@ -977,7 +977,7 @@ formateur_elementaire_tex(struct_process return; } - for(i = 0; i < strlen(ligne); i++) + for(i = 0; i < (integer8) strlen(ligne); i++) { switch(ligne[i]) { @@ -992,7 +992,7 @@ formateur_elementaire_tex(struct_process return; } - strncpy(tampon, ligne, i); + strncpy(tampon, ligne, (size_t) i); strcpy(&(tampon[i]), "\\times 10^{"); strcat(tampon, &(ligne[++i])); strcat(tampon, "}"); @@ -1014,7 +1014,7 @@ formateur_elementaire_tex(struct_process return; } - strncpy(tampon, ligne, ++i); + strncpy(tampon, ligne, (size_t) ++i); strcpy(&(tampon[i]), "\\!"); strcat(tampon, &(ligne[i])); i += 2; @@ -1539,7 +1539,8 @@ formateur_elementaire_tex(struct_process { niveau = 0; - for(i = 1; i < (strlen((unsigned char *) + for(i = 1; i < (integer8) + (strlen((unsigned char *) (*s_sous_objet_1).objet) - 1); i++) { if (((unsigned char *) (*s_sous_objet_1) @@ -1573,7 +1574,8 @@ formateur_elementaire_tex(struct_process chaine_parametre = (unsigned char *) (*s_sous_objet_1).objet; - conversion_element_tex(&chaine_parametre, "^"); + conversion_element_tex(s_etat_processus, + &chaine_parametre, "^"); if ((*s_sous_objet_1).objet == NULL) { @@ -1601,8 +1603,8 @@ formateur_elementaire_tex(struct_process { chaine_parametre = (unsigned char *) (*s_sous_objet_1).objet; - conversion_element_tex(&chaine_parametre, - (*((struct_fonction *) + conversion_element_tex(s_etat_processus, + &chaine_parametre, (*((struct_fonction *) (*(*l_element_courant).donnee).objet)) .nom_fonction); @@ -1615,8 +1617,8 @@ formateur_elementaire_tex(struct_process chaine_parametre = (unsigned char *) (*s_sous_objet_2).objet; - conversion_element_tex(&chaine_parametre, - (*((struct_fonction *) + conversion_element_tex(s_etat_processus, + &chaine_parametre, (*((struct_fonction *) (*(*l_element_courant).donnee).objet)) .nom_fonction); @@ -1699,7 +1701,8 @@ formateur_elementaire_tex(struct_process { chaine_parametre = (unsigned char *) (*s_sous_objet_1).objet; - conversion_element_tex(&chaine_parametre, + conversion_element_tex(s_etat_processus, + &chaine_parametre, (*((struct_fonction *) (*(*l_element_courant).donnee).objet)) .nom_fonction); @@ -1713,7 +1716,8 @@ formateur_elementaire_tex(struct_process chaine_parametre = (unsigned char *) (*s_sous_objet_2).objet; - conversion_element_tex(&chaine_parametre, + conversion_element_tex(s_etat_processus, + &chaine_parametre, (*((struct_fonction *) (*(*l_element_courant).donnee).objet)) .nom_fonction); @@ -1982,11 +1986,12 @@ formateur_elementaire_tex(struct_process if ((*s_etat_processus).instruction_valide == 'Y') { - for(i = 0; i < strlen(chaine); i++) + for(i = 0; i < (integer8) strlen(chaine); i++) { if ((chaine[i] >= 'A') && (chaine[i] <= 'Z')) { - chaine[i] += ('a' - 'A'); + chaine[i] = (unsigned char) + (chaine[i] + ('a' - 'A')); } } } @@ -2043,15 +2048,16 @@ formateur_elementaire_tex(struct_process ptrl = chaine_sauvegarde; ptre = (unsigned char *) (*s_sous_objet).objet; - for(ptrl++, i = strlen(chaine_sauvegarde) - 2; i > 0; - i--, *ptre++ = *ptrl++); + for(ptrl++, i = (integer8) (strlen(chaine_sauvegarde) - 2); + i > 0; i--, *ptre++ = *ptrl++); (*ptre) = d_code_fin_chaine; free(chaine_sauvegarde); - chaine_majuscule = conversion_majuscule((*((struct_nom *) - (*(*l_element_courant).donnee).objet)).nom); + chaine_majuscule = conversion_majuscule(s_etat_processus, + (*((struct_nom *) (*(*l_element_courant).donnee) + .objet)).nom); if (strcmp(chaine_majuscule, "PI") == 0) { @@ -2154,11 +2160,12 @@ correction_formateur_tex(struct_processu logical1 mode_mathematique; unsigned char *tampon; - unsigned long i; + + integer8 i; mode_mathematique = d_faux; - for(i = 0; i < strlen((*ligne)); i++) + for(i = 0; i < (integer8) strlen((*ligne)); i++) { switch((*ligne)[i]) { @@ -2205,7 +2212,7 @@ correction_formateur_tex(struct_processu return; } - strncpy(tampon, (*ligne), i); + strncpy(tampon, (*ligne), (size_t) i); strcpy(&(tampon[i]), "\\"); strcat(tampon, &((*ligne)[i++])); @@ -2251,7 +2258,7 @@ impression_tex(struct_processus *s_etat_ unsigned char *nom_fichier_tex; unsigned char *nom_fichier_ps; - unsigned long longueur_nom_base; + size_t longueur_nom_base; longueur_nom_base = strlen((*s_etat_processus).nom_fichier_impression); @@ -2332,7 +2339,7 @@ impression_tex(struct_processus *s_etat_ if ((*s_etat_processus).rpl_home == NULL) { - if (alsprintf(&commande, ds_tex_commande, + if (alsprintf(s_etat_processus, &commande, ds_tex_commande, d_exec_path, d_exec_path, d_exec_path, (*s_etat_processus).nom_fichier_impression, d_exec_path, d_exec_path, @@ -2344,7 +2351,7 @@ impression_tex(struct_processus *s_etat_ return; } - if (alsprintf(&executable_candidat, "%s/bin/rpliconv", + if (alsprintf(s_etat_processus, &executable_candidat, "%s/bin/rpliconv", d_exec_path) < 0) { (*s_etat_processus).erreur_systeme = d_es_allocation_memoire; @@ -2360,7 +2367,7 @@ impression_tex(struct_processus *s_etat_ free(executable_candidat); - if (alsprintf(&executable_candidat, "%s/bin/rplfile", + if (alsprintf(s_etat_processus, &executable_candidat, "%s/bin/rplfile", d_exec_path) < 0) { (*s_etat_processus).erreur_systeme = d_es_allocation_memoire; @@ -2378,7 +2385,7 @@ impression_tex(struct_processus *s_etat_ } else { - if (alsprintf(&commande, ds_tex_commande, + if (alsprintf(s_etat_processus, &commande, ds_tex_commande, (*s_etat_processus).rpl_home, (*s_etat_processus).rpl_home, (*s_etat_processus).rpl_home, @@ -2393,7 +2400,7 @@ impression_tex(struct_processus *s_etat_ return; } - if (alsprintf(&executable_candidat, "%s/bin/rpliconv", + if (alsprintf(s_etat_processus, &executable_candidat, "%s/bin/rpliconv", (*s_etat_processus).rpl_home) < 0) { (*s_etat_processus).erreur_systeme = d_es_allocation_memoire; @@ -2409,7 +2416,7 @@ impression_tex(struct_processus *s_etat_ free(executable_candidat); - if (alsprintf(&executable_candidat, "%s/bin/rplfile", + if (alsprintf(s_etat_processus, &executable_candidat, "%s/bin/rplfile", (*s_etat_processus).rpl_home) < 0) { (*s_etat_processus).erreur_systeme = d_es_allocation_memoire; @@ -2435,7 +2442,8 @@ impression_tex(struct_processus *s_etat_ { free(commande); - if (alsprintf(&commande, ds_tex_postscript, nom_fichier_ps) < 0) + if (alsprintf(s_etat_processus, &commande, ds_tex_postscript, + nom_fichier_ps) < 0) { (*s_etat_processus).erreur_systeme = d_es_allocation_memoire; return; @@ -2536,16 +2544,17 @@ impression_tex(struct_processus *s_etat_ */ void -conversion_element_tex(unsigned char **element, unsigned char *fonction) +conversion_element_tex(struct_processus *s_etat_processus, + unsigned char **element, unsigned char *fonction) { unsigned char *chaine; unsigned char *element_courant; unsigned char *extrait; - unsigned long debut_fonction; - unsigned long i; - unsigned long niveau; - unsigned long nombre_passages_par_zero; + integer8 debut_fonction; + integer8 i; + integer8 niveau; + integer8 nombre_passages_par_zero; element_courant = (*element); niveau = 0; @@ -2559,7 +2568,8 @@ conversion_element_tex(unsigned char **e { if (niveau == 0) { - extrait = extraction_chaine((*element), debut_fonction, i - 1); + extrait = extraction_chaine(s_etat_processus, + (*element), debut_fonction, i - 1); if (strcmp(extrait, fonction) != 0) {