--- rpl/src/interface_tex.c 2010/03/04 17:42:47 1.7 +++ rpl/src/interface_tex.c 2010/06/24 10:10:46 1.13 @@ -1,6 +1,6 @@ /* ================================================================================ - RPL/2 (R) version 4.0.12 + RPL/2 (R) version 4.0.17 Copyright (C) 1989-2010 Dr. BERTRAND Joël This file is part of RPL/2. @@ -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; @@ -2341,6 +2342,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 { @@ -2356,6 +2403,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)