--- rpl/src/interface_tex.c 2010/03/04 17:42:47 1.7 +++ rpl/src/interface_tex.c 2011/07/25 07:45:00 1.31 @@ -1,7 +1,7 @@ /* ================================================================================ - RPL/2 (R) version 4.0.12 - Copyright (C) 1989-2010 Dr. BERTRAND Joël + RPL/2 (R) version 4.1.2 + Copyright (C) 1989-2011 Dr. BERTRAND Joël This file is part of RPL/2. @@ -20,8 +20,8 @@ */ -#include "rpl.conv.h" -#include "tex.conv.h" +#include "rpl-conv.h" +#include "tex-conv.h" /* @@ -2244,6 +2244,7 @@ impression_tex(struct_processus *s_etat_ file *fichier_impression; unsigned char *commande; + unsigned char *executable_candidat; unsigned char *nom_fichier_aux; unsigned char *nom_fichier_dvi; unsigned char *nom_fichier_log; @@ -2334,6 +2335,7 @@ impression_tex(struct_processus *s_etat_ if (alsprintf(&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, (*s_etat_processus).nom_fichier_impression, nom_fichier_tex, (*s_etat_processus).chemin_fichiers_temporaires, nom_fichier_tex, nom_fichier_dvi, nom_fichier_ps) < 0) @@ -2341,6 +2343,52 @@ impression_tex(struct_processus *s_etat_ (*s_etat_processus).erreur_systeme = d_es_allocation_memoire; return; } + + if (alsprintf(&executable_candidat, "%s/bin/rpliconv", + d_exec_path) < 0) + { + (*s_etat_processus).erreur_systeme = d_es_allocation_memoire; + return; + } + + if (controle(s_etat_processus, executable_candidat, "md5", + rpliconv_md5) != d_vrai) + { + (*s_etat_processus).erreur_systeme = d_es_somme_controle; + return; + } + + if (controle(s_etat_processus, executable_candidat, "sha1", + rpliconv_sha1) != 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(s_etat_processus, executable_candidat, "md5", + rplfile_md5) != d_vrai) + { + (*s_etat_processus).erreur_systeme = d_es_somme_controle; + return; + } + + if (controle(s_etat_processus, executable_candidat, "sha1", + rplfile_sha1) != d_vrai) + { + (*s_etat_processus).erreur_systeme = d_es_somme_controle; + return; + } + + free(executable_candidat); } else { @@ -2349,6 +2397,8 @@ impression_tex(struct_processus *s_etat_ (*s_etat_processus).rpl_home, (*s_etat_processus).rpl_home, (*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).chemin_fichiers_temporaires, nom_fichier_tex, nom_fichier_dvi, nom_fichier_ps) < 0) @@ -2356,6 +2406,52 @@ impression_tex(struct_processus *s_etat_ (*s_etat_processus).erreur_systeme = d_es_allocation_memoire; 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(s_etat_processus, executable_candidat, "md5", + rpliconv_md5) != d_vrai) + { + (*s_etat_processus).erreur_systeme = d_es_somme_controle; + return; + } + + if (controle(s_etat_processus, executable_candidat, "sha1", + rpliconv_sha1) != 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(s_etat_processus, executable_candidat, "md5", + rplfile_md5) != d_vrai) + { + (*s_etat_processus).erreur_systeme = d_es_somme_controle; + return; + } + + if (controle(s_etat_processus, executable_candidat, "sha1", + rplfile_sha1) != d_vrai) + { + (*s_etat_processus).erreur_systeme = d_es_somme_controle; + return; + } + + free(executable_candidat); } if (system(commande) != 0)