version 1.7, 2010/03/04 17:42:47
|
version 1.51, 2013/12/03 09:36:15
|
Line 1
|
Line 1
|
/* |
/* |
================================================================================ |
================================================================================ |
RPL/2 (R) version 4.0.12 |
RPL/2 (R) version 4.1.17 |
Copyright (C) 1989-2010 Dr. BERTRAND Joël |
Copyright (C) 1989-2013 Dr. BERTRAND Joël |
|
|
This file is part of RPL/2. |
This file is part of RPL/2. |
|
|
Line 20
|
Line 20
|
*/ |
*/ |
|
|
|
|
#include "rpl.conv.h" |
#include "rpl-conv.h" |
#include "tex.conv.h" |
#include "tex-conv.h" |
|
|
|
|
/* |
/* |
Line 497 formateur_elementaire_tex(struct_process
|
Line 497 formateur_elementaire_tex(struct_process
|
unsigned char test_instruction; |
unsigned char test_instruction; |
unsigned char *tampon; |
unsigned char *tampon; |
|
|
unsigned long i; |
integer8 i; |
unsigned long j; |
integer8 j; |
unsigned long niveau; |
integer8 niveau; |
unsigned long nombre_arguments; |
integer8 nombre_arguments; |
|
|
/* |
/* |
* Entier binaire |
* Entier binaire |
Line 977 formateur_elementaire_tex(struct_process
|
Line 977 formateur_elementaire_tex(struct_process
|
return; |
return; |
} |
} |
|
|
for(i = 0; i < strlen(ligne); i++) |
for(i = 0; i < (integer8) strlen(ligne); i++) |
{ |
{ |
switch(ligne[i]) |
switch(ligne[i]) |
{ |
{ |
Line 992 formateur_elementaire_tex(struct_process
|
Line 992 formateur_elementaire_tex(struct_process
|
return; |
return; |
} |
} |
|
|
strncpy(tampon, ligne, i); |
strncpy(tampon, ligne, (size_t) i); |
strcpy(&(tampon[i]), "\\times 10^{"); |
strcpy(&(tampon[i]), "\\times 10^{"); |
strcat(tampon, &(ligne[++i])); |
strcat(tampon, &(ligne[++i])); |
strcat(tampon, "}"); |
strcat(tampon, "}"); |
Line 1014 formateur_elementaire_tex(struct_process
|
Line 1014 formateur_elementaire_tex(struct_process
|
return; |
return; |
} |
} |
|
|
strncpy(tampon, ligne, ++i); |
strncpy(tampon, ligne, (size_t) ++i); |
strcpy(&(tampon[i]), "\\!"); |
strcpy(&(tampon[i]), "\\!"); |
strcat(tampon, &(ligne[i])); |
strcat(tampon, &(ligne[i])); |
i += 2; |
i += 2; |
Line 1539 formateur_elementaire_tex(struct_process
|
Line 1539 formateur_elementaire_tex(struct_process
|
{ |
{ |
niveau = 0; |
niveau = 0; |
|
|
for(i = 1; i < (strlen((unsigned char *) |
for(i = 1; i < (integer8) |
|
(strlen((unsigned char *) |
(*s_sous_objet_1).objet) - 1); i++) |
(*s_sous_objet_1).objet) - 1); i++) |
{ |
{ |
if (((unsigned char *) (*s_sous_objet_1) |
if (((unsigned char *) (*s_sous_objet_1) |
Line 1982 formateur_elementaire_tex(struct_process
|
Line 1983 formateur_elementaire_tex(struct_process
|
|
|
if ((*s_etat_processus).instruction_valide == 'Y') |
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')) |
if ((chaine[i] >= 'A') && (chaine[i] <= 'Z')) |
{ |
{ |
chaine[i] += ('a' - 'A'); |
chaine[i] = (unsigned char) |
|
(chaine[i] + ('a' - 'A')); |
} |
} |
} |
} |
} |
} |
Line 2043 formateur_elementaire_tex(struct_process
|
Line 2045 formateur_elementaire_tex(struct_process
|
ptrl = chaine_sauvegarde; |
ptrl = chaine_sauvegarde; |
ptre = (unsigned char *) (*s_sous_objet).objet; |
ptre = (unsigned char *) (*s_sous_objet).objet; |
|
|
for(ptrl++, i = strlen(chaine_sauvegarde) - 2; i > 0; |
for(ptrl++, i = (integer8) (strlen(chaine_sauvegarde) - 2); |
i--, *ptre++ = *ptrl++); |
i > 0; i--, *ptre++ = *ptrl++); |
|
|
(*ptre) = d_code_fin_chaine; |
(*ptre) = d_code_fin_chaine; |
|
|
Line 2154 correction_formateur_tex(struct_processu
|
Line 2156 correction_formateur_tex(struct_processu
|
logical1 mode_mathematique; |
logical1 mode_mathematique; |
|
|
unsigned char *tampon; |
unsigned char *tampon; |
unsigned long i; |
|
|
integer8 i; |
|
|
mode_mathematique = d_faux; |
mode_mathematique = d_faux; |
|
|
for(i = 0; i < strlen((*ligne)); i++) |
for(i = 0; i < (integer8) strlen((*ligne)); i++) |
{ |
{ |
switch((*ligne)[i]) |
switch((*ligne)[i]) |
{ |
{ |
Line 2205 correction_formateur_tex(struct_processu
|
Line 2208 correction_formateur_tex(struct_processu
|
return; |
return; |
} |
} |
|
|
strncpy(tampon, (*ligne), i); |
strncpy(tampon, (*ligne), (size_t) i); |
strcpy(&(tampon[i]), "\\"); |
strcpy(&(tampon[i]), "\\"); |
strcat(tampon, &((*ligne)[i++])); |
strcat(tampon, &((*ligne)[i++])); |
|
|
Line 2244 impression_tex(struct_processus *s_etat_
|
Line 2247 impression_tex(struct_processus *s_etat_
|
file *fichier_impression; |
file *fichier_impression; |
|
|
unsigned char *commande; |
unsigned char *commande; |
|
unsigned char *executable_candidat; |
unsigned char *nom_fichier_aux; |
unsigned char *nom_fichier_aux; |
unsigned char *nom_fichier_dvi; |
unsigned char *nom_fichier_dvi; |
unsigned char *nom_fichier_log; |
unsigned char *nom_fichier_log; |
unsigned char *nom_fichier_tex; |
unsigned char *nom_fichier_tex; |
unsigned char *nom_fichier_ps; |
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); |
longueur_nom_base = strlen((*s_etat_processus).nom_fichier_impression); |
|
|
Line 2334 impression_tex(struct_processus *s_etat_
|
Line 2338 impression_tex(struct_processus *s_etat_
|
if (alsprintf(&commande, ds_tex_commande, |
if (alsprintf(&commande, ds_tex_commande, |
d_exec_path, d_exec_path, d_exec_path, |
d_exec_path, d_exec_path, d_exec_path, |
(*s_etat_processus).nom_fichier_impression, |
(*s_etat_processus).nom_fichier_impression, |
|
d_exec_path, d_exec_path, |
(*s_etat_processus).nom_fichier_impression, nom_fichier_tex, |
(*s_etat_processus).nom_fichier_impression, nom_fichier_tex, |
(*s_etat_processus).chemin_fichiers_temporaires, |
(*s_etat_processus).chemin_fichiers_temporaires, |
nom_fichier_tex, nom_fichier_dvi, nom_fichier_ps) < 0) |
nom_fichier_tex, nom_fichier_dvi, nom_fichier_ps) < 0) |
Line 2341 impression_tex(struct_processus *s_etat_
|
Line 2346 impression_tex(struct_processus *s_etat_
|
(*s_etat_processus).erreur_systeme = d_es_allocation_memoire; |
(*s_etat_processus).erreur_systeme = d_es_allocation_memoire; |
return; |
return; |
} |
} |
|
|
|
if (alsprintf(&executable_candidat, "%s/bin/rpliconv", |
|
d_exec_path) < 0) |
|
{ |
|
(*s_etat_processus).erreur_systeme = d_es_allocation_memoire; |
|
return; |
|
} |
|
|
|
if (controle_integrite(s_etat_processus, executable_candidat, |
|
"rpliconv") != d_vrai) |
|
{ |
|
(*s_etat_processus).erreur_systeme = d_es_somme_controle; |
|
return; |
|
} |
|
|
|
free(executable_candidat); |
|
|
|
if (alsprintf(&executable_candidat, "%s/bin/rplfile", |
|
d_exec_path) < 0) |
|
{ |
|
(*s_etat_processus).erreur_systeme = d_es_allocation_memoire; |
|
return; |
|
} |
|
|
|
if (controle_integrite(s_etat_processus, executable_candidat, |
|
"rplfile") != d_vrai) |
|
{ |
|
(*s_etat_processus).erreur_systeme = d_es_somme_controle; |
|
return; |
|
} |
|
|
|
free(executable_candidat); |
} |
} |
else |
else |
{ |
{ |
Line 2349 impression_tex(struct_processus *s_etat_
|
Line 2386 impression_tex(struct_processus *s_etat_
|
(*s_etat_processus).rpl_home, |
(*s_etat_processus).rpl_home, |
(*s_etat_processus).rpl_home, |
(*s_etat_processus).rpl_home, |
(*s_etat_processus).nom_fichier_impression, |
(*s_etat_processus).nom_fichier_impression, |
|
(*s_etat_processus).rpl_home, |
|
(*s_etat_processus).rpl_home, |
(*s_etat_processus).nom_fichier_impression, nom_fichier_tex, |
(*s_etat_processus).nom_fichier_impression, nom_fichier_tex, |
(*s_etat_processus).chemin_fichiers_temporaires, |
(*s_etat_processus).chemin_fichiers_temporaires, |
nom_fichier_tex, nom_fichier_dvi, nom_fichier_ps) < 0) |
nom_fichier_tex, nom_fichier_dvi, nom_fichier_ps) < 0) |
Line 2356 impression_tex(struct_processus *s_etat_
|
Line 2395 impression_tex(struct_processus *s_etat_
|
(*s_etat_processus).erreur_systeme = d_es_allocation_memoire; |
(*s_etat_processus).erreur_systeme = d_es_allocation_memoire; |
return; |
return; |
} |
} |
|
|
|
if (alsprintf(&executable_candidat, "%s/bin/rpliconv", |
|
(*s_etat_processus).rpl_home) < 0) |
|
{ |
|
(*s_etat_processus).erreur_systeme = d_es_allocation_memoire; |
|
return; |
|
} |
|
|
|
if (controle_integrite(s_etat_processus, executable_candidat, |
|
"rpliconv") != d_vrai) |
|
{ |
|
(*s_etat_processus).erreur_systeme = d_es_somme_controle; |
|
return; |
|
} |
|
|
|
free(executable_candidat); |
|
|
|
if (alsprintf(&executable_candidat, "%s/bin/rplfile", |
|
(*s_etat_processus).rpl_home) < 0) |
|
{ |
|
(*s_etat_processus).erreur_systeme = d_es_allocation_memoire; |
|
return; |
|
} |
|
|
|
if (controle_integrite(s_etat_processus, executable_candidat, |
|
"rplfile") != d_vrai) |
|
{ |
|
(*s_etat_processus).erreur_systeme = d_es_somme_controle; |
|
return; |
|
} |
|
|
|
free(executable_candidat); |
} |
} |
|
|
if (system(commande) != 0) |
if (system(commande) != 0) |
Line 2474 conversion_element_tex(unsigned char **e
|
Line 2545 conversion_element_tex(unsigned char **e
|
unsigned char *element_courant; |
unsigned char *element_courant; |
unsigned char *extrait; |
unsigned char *extrait; |
|
|
unsigned long debut_fonction; |
integer8 debut_fonction; |
unsigned long i; |
integer8 i; |
unsigned long niveau; |
integer8 niveau; |
unsigned long nombre_passages_par_zero; |
integer8 nombre_passages_par_zero; |
|
|
element_courant = (*element); |
element_courant = (*element); |
niveau = 0; |
niveau = 0; |