Diff for /rpl/src/interface_tex.c between versions 1.1 and 1.22

version 1.1, 2010/01/26 15:22:44 version 1.22, 2011/04/11 12:10:11
Line 1 Line 1
 /*  /*
 ================================================================================  ================================================================================
   RPL/2 (R) version 4.0.9    RPL/2 (R) version 4.1.0.prerelease.0
   Copyright (C) 1989-2010 Dr. BERTRAND Joël    Copyright (C) 1989-2011 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 67  creation_fichier_tex(struct_processus *s Line 67  creation_fichier_tex(struct_processus *s
         return(NULL);          return(NULL);
     }      }
   
     if (fprintf(fichier_impression, "\\documentclass[%s,%s]{%s}\n\n",      if (tex_fprintf(s_etat_processus, fichier_impression,
               "\\documentclass[%s,%s]{%s}\n\n",
             (*s_etat_processus).format_papier, ds_tex_taille_corps,              (*s_etat_processus).format_papier, ds_tex_taille_corps,
             ds_tex_classe_document) < 0)              ds_tex_classe_document) < 0)
     {      {
Line 76  creation_fichier_tex(struct_processus *s Line 77  creation_fichier_tex(struct_processus *s
     }      }
   
   
     if (fprintf(fichier_impression, "\\usepackage[%s]{fontenc}\n",      if (tex_fprintf(s_etat_processus, fichier_impression,
             ds_tex_encodage_1) < 0)              "\\usepackage[%s]{fontenc}\n", ds_tex_encodage_1) < 0)
     {      {
         (*s_etat_processus).erreur_systeme = d_es_erreur_fichier;          (*s_etat_processus).erreur_systeme = d_es_erreur_fichier;
         return(NULL);          return(NULL);
     }      }
   
     if (fprintf(fichier_impression, "\\usepackage[%s]{inputenc}\n",      if (tex_fprintf(s_etat_processus, fichier_impression,
             ds_tex_encodage_2) < 0)              "\\usepackage[%s]{inputenc}\n", ds_tex_encodage_2) < 0)
     {      {
         (*s_etat_processus).erreur_systeme = d_es_erreur_fichier;          (*s_etat_processus).erreur_systeme = d_es_erreur_fichier;
         return(NULL);          return(NULL);
     }      }
   
     if (fprintf(fichier_impression, "\\usepackage[%s]{babel}\n\n",      if (tex_fprintf(s_etat_processus, fichier_impression,
             ds_tex_langue) < 0)              "\\usepackage[%s]{babel}\n\n", ds_tex_langue) < 0)
     {      {
         (*s_etat_processus).erreur_systeme = d_es_erreur_fichier;          (*s_etat_processus).erreur_systeme = d_es_erreur_fichier;
         return(NULL);          return(NULL);
     }      }
   
     if (fprintf(fichier_impression, "\\usepackage{latexsym}\n") < 0)      if (tex_fprintf(s_etat_processus, fichier_impression,
               "\\usepackage{latexsym}\n") < 0)
     {      {
         (*s_etat_processus).erreur_systeme = d_es_erreur_fichier;          (*s_etat_processus).erreur_systeme = d_es_erreur_fichier;
         return(NULL);          return(NULL);
     }      }
   
     if (fprintf(fichier_impression, "\\usepackage[dvips]{color}\n\n") < 0)      if (tex_fprintf(s_etat_processus, fichier_impression,
               "\\usepackage[dvips]{color}\n\n") < 0)
     {      {
         (*s_etat_processus).erreur_systeme = d_es_erreur_fichier;          (*s_etat_processus).erreur_systeme = d_es_erreur_fichier;
         return(NULL);          return(NULL);
     }      }
   
     if (fprintf(fichier_impression, "\\usepackage{amsmath}\n") < 0)      if (tex_fprintf(s_etat_processus, fichier_impression,
               "\\usepackage{amsmath}\n") < 0)
     {      {
         (*s_etat_processus).erreur_systeme = d_es_erreur_fichier;          (*s_etat_processus).erreur_systeme = d_es_erreur_fichier;
         return(NULL);          return(NULL);
     }      }
   
     if (fprintf(fichier_impression, "\\usepackage{amsfonts}\n") < 0)      if (tex_fprintf(s_etat_processus, fichier_impression,
               "\\usepackage{amsfonts}\n") < 0)
     {      {
         (*s_etat_processus).erreur_systeme = d_es_erreur_fichier;          (*s_etat_processus).erreur_systeme = d_es_erreur_fichier;
         return(NULL);          return(NULL);
     }      }
   
     if (fprintf(fichier_impression, "\\usepackage{amssymb}\n\n") < 0)      if (tex_fprintf(s_etat_processus, fichier_impression,
               "\\usepackage{amssymb}\n\n") < 0)
     {      {
         (*s_etat_processus).erreur_systeme = d_es_erreur_fichier;          (*s_etat_processus).erreur_systeme = d_es_erreur_fichier;
         return(NULL);          return(NULL);
     }      }
   
     if (fprintf(fichier_impression, "\\title{Fichier d'impression}\n") < 0)      if (tex_fprintf(s_etat_processus, fichier_impression,
               "\\title{Fichier d'impression}\n") < 0)
     {      {
         (*s_etat_processus).erreur_systeme = d_es_erreur_fichier;          (*s_etat_processus).erreur_systeme = d_es_erreur_fichier;
         return(NULL);          return(NULL);
     }      }
   
     if (fprintf(fichier_impression, "\\author{RPL/2 Version %s}\n",      if (tex_fprintf(s_etat_processus, fichier_impression,
             d_version_rpl) < 0)              "\\author{RPL/2 Version %s}\n", d_version_rpl) < 0)
     {      {
         (*s_etat_processus).erreur_systeme = d_es_erreur_fichier;          (*s_etat_processus).erreur_systeme = d_es_erreur_fichier;
         return(NULL);          return(NULL);
     }      }
   
     if (fprintf(fichier_impression, "\\date{}\n\n") < 0)      if (tex_fprintf(s_etat_processus, fichier_impression, "\\date{}\n\n") < 0)
     {      {
         (*s_etat_processus).erreur_systeme = d_es_erreur_fichier;          (*s_etat_processus).erreur_systeme = d_es_erreur_fichier;
         return(NULL);          return(NULL);
     }      }
   
     if (fprintf(fichier_impression, "\\begin{document}\n\n") < 0)      if (tex_fprintf(s_etat_processus, fichier_impression,
               "\\begin{document}\n\n") < 0)
     {      {
         (*s_etat_processus).erreur_systeme = d_es_erreur_fichier;          (*s_etat_processus).erreur_systeme = d_es_erreur_fichier;
         return(NULL);          return(NULL);
     }      }
   
     if (fprintf(fichier_impression, "\\thispagestyle{%s}\n", ds_tex_style) < 0)      if (tex_fprintf(s_etat_processus, fichier_impression,
               "\\thispagestyle{%s}\n", ds_tex_style) < 0)
     {      {
         (*s_etat_processus).erreur_systeme = d_es_erreur_fichier;          (*s_etat_processus).erreur_systeme = d_es_erreur_fichier;
         return(NULL);          return(NULL);
     }      }
   
     if (fprintf(fichier_impression, "\\pagestyle{%s}\n\n", ds_tex_style) < 0)      if (tex_fprintf(s_etat_processus, fichier_impression,
               "\\pagestyle{%s}\n\n", ds_tex_style) < 0)
     {      {
         (*s_etat_processus).erreur_systeme = d_es_erreur_fichier;          (*s_etat_processus).erreur_systeme = d_es_erreur_fichier;
         return(NULL);          return(NULL);
Line 214  formateur_tex(struct_processus *s_etat_p Line 224  formateur_tex(struct_processus *s_etat_p
   
     if ((*s_objet).type == BIN)      if ((*s_objet).type == BIN)
     {      {
         if (fprintf(fichier_impression, "$$") < 0)          if (tex_fprintf(s_etat_processus, fichier_impression, "$$") < 0)
         {          {
             (*s_etat_processus).erreur_systeme = d_es_erreur_fichier;              (*s_etat_processus).erreur_systeme = d_es_erreur_fichier;
             return;              return;
Line 223  formateur_tex(struct_processus *s_etat_p Line 233  formateur_tex(struct_processus *s_etat_p
         formateur_elementaire_tex(s_etat_processus, fichier_impression,          formateur_elementaire_tex(s_etat_processus, fichier_impression,
                 s_objet, environnement);                  s_objet, environnement);
   
         if (fprintf(fichier_impression, "$$\n") < 0)          if (tex_fprintf(s_etat_processus, fichier_impression, "$$\n") < 0)
         {          {
             (*s_etat_processus).erreur_systeme = d_es_erreur_fichier;              (*s_etat_processus).erreur_systeme = d_es_erreur_fichier;
             return;              return;
Line 239  formateur_tex(struct_processus *s_etat_p Line 249  formateur_tex(struct_processus *s_etat_p
         formateur_elementaire_tex(s_etat_processus, fichier_impression,          formateur_elementaire_tex(s_etat_processus, fichier_impression,
                 s_objet, environnement);                  s_objet, environnement);
   
         if (fprintf(fichier_impression, "\n") < 0)          if (tex_fprintf(s_etat_processus, fichier_impression, "\n") < 0)
         {          {
             (*s_etat_processus).erreur_systeme = d_es_erreur_fichier;              (*s_etat_processus).erreur_systeme = d_es_erreur_fichier;
             return;              return;
Line 254  formateur_tex(struct_processus *s_etat_p Line 264  formateur_tex(struct_processus *s_etat_p
             ((*s_objet).type == INT) ||              ((*s_objet).type == INT) ||
             ((*s_objet).type == REL))              ((*s_objet).type == REL))
     {      {
         if (fprintf(fichier_impression, "$$") < 0)          if (tex_fprintf(s_etat_processus, fichier_impression, "$$") < 0)
         {          {
             (*s_etat_processus).erreur_systeme = d_es_erreur_fichier;              (*s_etat_processus).erreur_systeme = d_es_erreur_fichier;
             return;              return;
Line 263  formateur_tex(struct_processus *s_etat_p Line 273  formateur_tex(struct_processus *s_etat_p
         formateur_elementaire_tex(s_etat_processus, fichier_impression,          formateur_elementaire_tex(s_etat_processus, fichier_impression,
                 s_objet, environnement);                  s_objet, environnement);
   
         if (fprintf(fichier_impression, "$$\n") < 0)          if (tex_fprintf(s_etat_processus, fichier_impression, "$$\n") < 0)
         {          {
             (*s_etat_processus).erreur_systeme = d_es_erreur_fichier;              (*s_etat_processus).erreur_systeme = d_es_erreur_fichier;
             return;              return;
Line 276  formateur_tex(struct_processus *s_etat_p Line 286  formateur_tex(struct_processus *s_etat_p
   
     else if ((*s_objet).type == NOM)      else if ((*s_objet).type == NOM)
     {      {
         if (fprintf(fichier_impression, "\\begin{center}\n") < 0)          if (tex_fprintf(s_etat_processus, fichier_impression,
                   "\\begin{center}\n") < 0)
         {          {
             (*s_etat_processus).erreur_systeme = d_es_erreur_fichier;              (*s_etat_processus).erreur_systeme = d_es_erreur_fichier;
             return;              return;
Line 285  formateur_tex(struct_processus *s_etat_p Line 296  formateur_tex(struct_processus *s_etat_p
         formateur_elementaire_tex(s_etat_processus, fichier_impression,          formateur_elementaire_tex(s_etat_processus, fichier_impression,
                 s_objet, environnement);                  s_objet, environnement);
   
         if (fprintf(fichier_impression, "\\end{center}\n") < 0)          if (tex_fprintf(s_etat_processus, fichier_impression,
                   "\\end{center}\n") < 0)
         {          {
             (*s_etat_processus).erreur_systeme = d_es_erreur_fichier;              (*s_etat_processus).erreur_systeme = d_es_erreur_fichier;
             return;              return;
Line 300  formateur_tex(struct_processus *s_etat_p Line 312  formateur_tex(struct_processus *s_etat_p
             ((*s_objet).type == VIN) ||              ((*s_objet).type == VIN) ||
             ((*s_objet).type == VRL))              ((*s_objet).type == VRL))
     {      {
         if (fprintf(fichier_impression, "\\begin{equation}\n") < 0)          if (tex_fprintf(s_etat_processus, fichier_impression,
                   "\\begin{equation}\n") < 0)
         {          {
             (*s_etat_processus).erreur_systeme = d_es_erreur_fichier;              (*s_etat_processus).erreur_systeme = d_es_erreur_fichier;
             return;              return;
Line 309  formateur_tex(struct_processus *s_etat_p Line 322  formateur_tex(struct_processus *s_etat_p
         formateur_elementaire_tex(s_etat_processus, fichier_impression,          formateur_elementaire_tex(s_etat_processus, fichier_impression,
                 s_objet, environnement);                  s_objet, environnement);
   
         if (fprintf(fichier_impression, "\\nonumber\n") < 0)          if (tex_fprintf(s_etat_processus, fichier_impression,
                   "\\nonumber\n") < 0)
         {          {
             (*s_etat_processus).erreur_systeme = d_es_erreur_fichier;              (*s_etat_processus).erreur_systeme = d_es_erreur_fichier;
             return;              return;
         }          }
   
         if (fprintf(fichier_impression, "\\end{equation}\n") < 0)          if (tex_fprintf(s_etat_processus, fichier_impression,
                   "\\end{equation}\n") < 0)
         {          {
             (*s_etat_processus).erreur_systeme = d_es_erreur_fichier;              (*s_etat_processus).erreur_systeme = d_es_erreur_fichier;
             return;              return;
Line 330  formateur_tex(struct_processus *s_etat_p Line 345  formateur_tex(struct_processus *s_etat_p
             ((*s_objet).type == MRL) ||              ((*s_objet).type == MRL) ||
             ((*s_objet).type == MCX))              ((*s_objet).type == MCX))
     {      {
         if (fprintf(fichier_impression, "\\begin{equation}\n") < 0)          if (tex_fprintf(s_etat_processus, fichier_impression,
                   "\\begin{equation}\n") < 0)
         {          {
             (*s_etat_processus).erreur_systeme = d_es_erreur_fichier;              (*s_etat_processus).erreur_systeme = d_es_erreur_fichier;
             return;              return;
Line 339  formateur_tex(struct_processus *s_etat_p Line 355  formateur_tex(struct_processus *s_etat_p
         formateur_elementaire_tex(s_etat_processus, fichier_impression,          formateur_elementaire_tex(s_etat_processus, fichier_impression,
                 s_objet, environnement);                  s_objet, environnement);
                   
         if (fprintf(fichier_impression, "\\nonumber\n") < 0)          if (tex_fprintf(s_etat_processus, fichier_impression,
                   "\\nonumber\n") < 0)
         {          {
             (*s_etat_processus).erreur_systeme = d_es_erreur_fichier;              (*s_etat_processus).erreur_systeme = d_es_erreur_fichier;
             return;              return;
         }          }
   
         if (fprintf(fichier_impression, "\\end{equation}\n") < 0)          if (tex_fprintf(s_etat_processus, fichier_impression,
                   "\\end{equation}\n") < 0)
         {          {
             (*s_etat_processus).erreur_systeme = d_es_erreur_fichier;              (*s_etat_processus).erreur_systeme = d_es_erreur_fichier;
             return;              return;
Line 359  formateur_tex(struct_processus *s_etat_p Line 377  formateur_tex(struct_processus *s_etat_p
     else if (((*s_objet).type == RPN) ||      else if (((*s_objet).type == RPN) ||
             ((*s_objet).type == LST))              ((*s_objet).type == LST))
     {      {
         if (fprintf(fichier_impression, "\\begin{center}\n") < 0)          if (tex_fprintf(s_etat_processus, fichier_impression,
                   "\\begin{center}\n") < 0)
         {          {
             (*s_etat_processus).erreur_systeme = d_es_erreur_fichier;              (*s_etat_processus).erreur_systeme = d_es_erreur_fichier;
             return;              return;
Line 368  formateur_tex(struct_processus *s_etat_p Line 387  formateur_tex(struct_processus *s_etat_p
         formateur_elementaire_tex(s_etat_processus, fichier_impression,          formateur_elementaire_tex(s_etat_processus, fichier_impression,
                 s_objet, environnement);                  s_objet, environnement);
   
         if (fprintf(fichier_impression, "\\end{center}\n") < 0)          if (tex_fprintf(s_etat_processus, fichier_impression,
                   "\\end{center}\n") < 0)
         {          {
             (*s_etat_processus).erreur_systeme = d_es_erreur_fichier;              (*s_etat_processus).erreur_systeme = d_es_erreur_fichier;
             return;              return;
Line 381  formateur_tex(struct_processus *s_etat_p Line 401  formateur_tex(struct_processus *s_etat_p
   
     else if ((*s_objet).type == ALG)      else if ((*s_objet).type == ALG)
     {      {
         if (fprintf(fichier_impression, "\\begin{equation}\n") < 0)          if (tex_fprintf(s_etat_processus, fichier_impression,
                   "\\begin{equation}\n") < 0)
         {          {
             (*s_etat_processus).erreur_systeme = d_es_erreur_fichier;              (*s_etat_processus).erreur_systeme = d_es_erreur_fichier;
             return;              return;
Line 390  formateur_tex(struct_processus *s_etat_p Line 411  formateur_tex(struct_processus *s_etat_p
         formateur_elementaire_tex(s_etat_processus, fichier_impression,          formateur_elementaire_tex(s_etat_processus, fichier_impression,
                 s_objet, environnement);                  s_objet, environnement);
   
         if (fprintf(fichier_impression, "\\nonumber\n") < 0)          if (tex_fprintf(s_etat_processus, fichier_impression,
                   "\\nonumber\n") < 0)
         {          {
             (*s_etat_processus).erreur_systeme = d_es_erreur_fichier;              (*s_etat_processus).erreur_systeme = d_es_erreur_fichier;
             return;              return;
         }          }
   
         if (fprintf(fichier_impression, "\\end{equation}\n") < 0)          if (tex_fprintf(s_etat_processus, fichier_impression,
                   "\\end{equation}\n") < 0)
         {          {
             (*s_etat_processus).erreur_systeme = d_es_erreur_fichier;              (*s_etat_processus).erreur_systeme = d_es_erreur_fichier;
             return;              return;
Line 494  formateur_elementaire_tex(struct_process Line 517  formateur_elementaire_tex(struct_process
         base = ligne[strlen(ligne) - 1];          base = ligne[strlen(ligne) - 1];
         ligne[strlen(ligne) - 1] = d_code_fin_chaine;          ligne[strlen(ligne) - 1] = d_code_fin_chaine;
   
         if (fprintf(fichier_impression, "\\#\\,%s\\text{%c}",          if (tex_fprintf(s_etat_processus, fichier_impression,
                 &(ligne[1]), base) < 0)                  "\\#\\,%s\\text{%c}", &(ligne[1]), base) < 0)
         {          {
             (*s_etat_processus).erreur_systeme = d_es_erreur_fichier;              (*s_etat_processus).erreur_systeme = d_es_erreur_fichier;
             return;              return;
Line 521  formateur_elementaire_tex(struct_process Line 544  formateur_elementaire_tex(struct_process
             correction_formateur_tex(s_etat_processus, &ligne);              correction_formateur_tex(s_etat_processus, &ligne);
         }          }
   
         if (fprintf(fichier_impression, "%s", ligne) < 0)          if (tex_fprintf(s_etat_processus, fichier_impression, "%s", ligne) < 0)
         {          {
             (*s_etat_processus).erreur_systeme = d_es_erreur_fichier;              (*s_etat_processus).erreur_systeme = d_es_erreur_fichier;
             return;              return;
Line 568  formateur_elementaire_tex(struct_process Line 591  formateur_elementaire_tex(struct_process
   
             if (strcmp(instruction_majuscule, "PI") == 0)              if (strcmp(instruction_majuscule, "PI") == 0)
             {              {
                 if (fprintf(fichier_impression, "$\\pi$") < 0)                  if (tex_fprintf(s_etat_processus, fichier_impression,
                           "$\\pi$") < 0)
                 {                  {
                     (*s_etat_processus).erreur_systeme = d_es_erreur_fichier;                      (*s_etat_processus).erreur_systeme = d_es_erreur_fichier;
                     return;                      return;
Line 576  formateur_elementaire_tex(struct_process Line 600  formateur_elementaire_tex(struct_process
             }              }
             else              else
             {              {
                 if (fprintf(fichier_impression, "\\textrm{%s}", ligne) < 0)                  if (tex_fprintf(s_etat_processus, fichier_impression,
                           "\\textrm{%s}", ligne) < 0)
                 {                  {
                     (*s_etat_processus).erreur_systeme = d_es_erreur_fichier;                      (*s_etat_processus).erreur_systeme = d_es_erreur_fichier;
                     return;                      return;
Line 587  formateur_elementaire_tex(struct_process Line 612  formateur_elementaire_tex(struct_process
         }          }
         else          else
         {          {
             if (fprintf(fichier_impression, "\\textit{%s}", ligne) < 0)              if (tex_fprintf(s_etat_processus, fichier_impression,
                       "\\textit{%s}", ligne) < 0)
             {              {
                 (*s_etat_processus).erreur_systeme = d_es_erreur_fichier;                  (*s_etat_processus).erreur_systeme = d_es_erreur_fichier;
                 return;                  return;
Line 615  formateur_elementaire_tex(struct_process Line 641  formateur_elementaire_tex(struct_process
             return;              return;
         }          }
   
         if (fprintf(fichier_impression, "\\left(") < 0)          if (tex_fprintf(s_etat_processus, fichier_impression, "\\left(") < 0)
         {          {
             (*s_etat_processus).erreur_systeme = d_es_erreur_fichier;              (*s_etat_processus).erreur_systeme = d_es_erreur_fichier;
             return;              return;
Line 632  formateur_elementaire_tex(struct_process Line 658  formateur_elementaire_tex(struct_process
   
         if (test_cfsf(s_etat_processus, 48) == d_vrai)          if (test_cfsf(s_etat_processus, 48) == d_vrai)
         {          {
             if (fprintf(fichier_impression, ".\\,") < 0)              if (tex_fprintf(s_etat_processus, fichier_impression, ".\\,") < 0)
             {              {
                 (*s_etat_processus).erreur_systeme = d_es_erreur_fichier;                  (*s_etat_processus).erreur_systeme = d_es_erreur_fichier;
                 return;                  return;
Line 640  formateur_elementaire_tex(struct_process Line 666  formateur_elementaire_tex(struct_process
         }          }
         else          else
         {          {
             if (fprintf(fichier_impression, ",") < 0)              if (tex_fprintf(s_etat_processus, fichier_impression, ",") < 0)
             {              {
                 (*s_etat_processus).erreur_systeme = d_es_erreur_fichier;                  (*s_etat_processus).erreur_systeme = d_es_erreur_fichier;
                 return;                  return;
Line 650  formateur_elementaire_tex(struct_process Line 676  formateur_elementaire_tex(struct_process
         formateur_elementaire_tex(s_etat_processus, fichier_impression,          formateur_elementaire_tex(s_etat_processus, fichier_impression,
                 &s_objet_elementaire, environnement);                  &s_objet_elementaire, environnement);
   
         if (fprintf(fichier_impression, "\\right)") < 0)          if (tex_fprintf(s_etat_processus, fichier_impression, "\\right)") < 0)
         {          {
             (*s_etat_processus).erreur_systeme = d_es_erreur_fichier;              (*s_etat_processus).erreur_systeme = d_es_erreur_fichier;
             return;              return;
Line 671  formateur_elementaire_tex(struct_process Line 697  formateur_elementaire_tex(struct_process
             return;              return;
         }          }
   
         if (fprintf(fichier_impression, "%s", ligne) < 0)          if (tex_fprintf(s_etat_processus, fichier_impression, "%s", ligne) < 0)
         {          {
             (*s_etat_processus).erreur_systeme = d_es_erreur_fichier;              (*s_etat_processus).erreur_systeme = d_es_erreur_fichier;
             return;              return;
Line 686  formateur_elementaire_tex(struct_process Line 712  formateur_elementaire_tex(struct_process
   
     else if ((*s_objet).type == MCX)      else if ((*s_objet).type == MCX)
     {      {
         if (fprintf(fichier_impression, "\\left(\\begin{array}{") < 0)          if (tex_fprintf(s_etat_processus, fichier_impression,
                   "\\left(\\begin{array}{") < 0)
         {          {
             (*s_etat_processus).erreur_systeme = d_es_erreur_fichier;              (*s_etat_processus).erreur_systeme = d_es_erreur_fichier;
             return;              return;
Line 695  formateur_elementaire_tex(struct_process Line 722  formateur_elementaire_tex(struct_process
         for(i = 0; i < (*((struct_matrice *) (*s_objet).objet))          for(i = 0; i < (*((struct_matrice *) (*s_objet).objet))
                 .nombre_colonnes; i++)                  .nombre_colonnes; i++)
         {          {
             if (fprintf(fichier_impression, "c") < 0)              if (tex_fprintf(s_etat_processus, fichier_impression, "c") < 0)
             {              {
                 (*s_etat_processus).erreur_systeme = d_es_erreur_fichier;                  (*s_etat_processus).erreur_systeme = d_es_erreur_fichier;
                 return;                  return;
             }              }
         }          }
   
         if (fprintf(fichier_impression, "}\n") < 0)          if (tex_fprintf(s_etat_processus, fichier_impression, "}\n") < 0)
         {          {
             (*s_etat_processus).erreur_systeme = d_es_erreur_fichier;              (*s_etat_processus).erreur_systeme = d_es_erreur_fichier;
             return;              return;
Line 737  formateur_elementaire_tex(struct_process Line 764  formateur_elementaire_tex(struct_process
                 if (j == ((*((struct_matrice *) (*s_objet).objet))                  if (j == ((*((struct_matrice *) (*s_objet).objet))
                         .nombre_colonnes - 1))                          .nombre_colonnes - 1))
                 {                  {
                     if (fprintf(fichier_impression, " \\\\\n") < 0)                      if (tex_fprintf(s_etat_processus, fichier_impression,
                               " \\\\\n") < 0)
                     {                      {
                         (*s_etat_processus).erreur_systeme =                          (*s_etat_processus).erreur_systeme =
                                 d_es_erreur_fichier;                                  d_es_erreur_fichier;
Line 746  formateur_elementaire_tex(struct_process Line 774  formateur_elementaire_tex(struct_process
                 }                  }
                 else                  else
                 {                  {
                     if (fprintf(fichier_impression, " & ") < 0)                      if (tex_fprintf(s_etat_processus, fichier_impression,
                               " & ") < 0)
                     {                      {
                         (*s_etat_processus).erreur_systeme =                          (*s_etat_processus).erreur_systeme =
                                 d_es_erreur_fichier;                                  d_es_erreur_fichier;
Line 758  formateur_elementaire_tex(struct_process Line 787  formateur_elementaire_tex(struct_process
   
         free(s_objet_elementaire.objet);          free(s_objet_elementaire.objet);
   
         if (fprintf(fichier_impression, "\\end{array}\\right)\n") < 0)          if (tex_fprintf(s_etat_processus, fichier_impression,
                   "\\end{array}\\right)\n") < 0)
         {          {
             (*s_etat_processus).erreur_systeme = d_es_erreur_fichier;              (*s_etat_processus).erreur_systeme = d_es_erreur_fichier;
             return;              return;
Line 771  formateur_elementaire_tex(struct_process Line 801  formateur_elementaire_tex(struct_process
   
     else if ((*s_objet).type == MIN)      else if ((*s_objet).type == MIN)
     {      {
         if (fprintf(fichier_impression, "\\left(\\begin{array}{") < 0)          if (tex_fprintf(s_etat_processus, fichier_impression,
                   "\\left(\\begin{array}{") < 0)
         {          {
             (*s_etat_processus).erreur_systeme = d_es_erreur_fichier;              (*s_etat_processus).erreur_systeme = d_es_erreur_fichier;
             return;              return;
Line 780  formateur_elementaire_tex(struct_process Line 811  formateur_elementaire_tex(struct_process
         for(i = 0; i < (*((struct_matrice *) (*s_objet).objet))          for(i = 0; i < (*((struct_matrice *) (*s_objet).objet))
                 .nombre_colonnes; i++)                  .nombre_colonnes; i++)
         {          {
             if (fprintf(fichier_impression, "c") < 0)              if (tex_fprintf(s_etat_processus, fichier_impression, "c") < 0)
             {              {
                 (*s_etat_processus).erreur_systeme = d_es_erreur_fichier;                  (*s_etat_processus).erreur_systeme = d_es_erreur_fichier;
                 return;                  return;
             }              }
         }          }
   
         if (fprintf(fichier_impression, "}\n") < 0)          if (tex_fprintf(s_etat_processus, fichier_impression, "}\n") < 0)
         {          {
             (*s_etat_processus).erreur_systeme = d_es_erreur_fichier;              (*s_etat_processus).erreur_systeme = d_es_erreur_fichier;
             return;              return;
Line 818  formateur_elementaire_tex(struct_process Line 849  formateur_elementaire_tex(struct_process
                 if (j == ((*((struct_matrice *) (*s_objet).objet))                  if (j == ((*((struct_matrice *) (*s_objet).objet))
                         .nombre_colonnes - 1))                          .nombre_colonnes - 1))
                 {                  {
                     if (fprintf(fichier_impression, " \\\\\n") < 0)                      if (tex_fprintf(s_etat_processus, fichier_impression,
                               " \\\\\n") < 0)
                     {                      {
                         (*s_etat_processus).erreur_systeme =                          (*s_etat_processus).erreur_systeme =
                                 d_es_erreur_fichier;                                  d_es_erreur_fichier;
Line 827  formateur_elementaire_tex(struct_process Line 859  formateur_elementaire_tex(struct_process
                 }                  }
                 else                  else
                 {                  {
                     if (fprintf(fichier_impression, " & ") < 0)                      if (tex_fprintf(s_etat_processus, fichier_impression,
                               " & ") < 0)
                     {                      {
                         (*s_etat_processus).erreur_systeme =                          (*s_etat_processus).erreur_systeme =
                                 d_es_erreur_fichier;                                  d_es_erreur_fichier;
Line 839  formateur_elementaire_tex(struct_process Line 872  formateur_elementaire_tex(struct_process
   
         free(s_objet_elementaire.objet);          free(s_objet_elementaire.objet);
   
         if (fprintf(fichier_impression, "\\end{array}\\right)\n") < 0)          if (tex_fprintf(s_etat_processus, fichier_impression,
                   "\\end{array}\\right)\n") < 0)
         {          {
             (*s_etat_processus).erreur_systeme = d_es_erreur_fichier;              (*s_etat_processus).erreur_systeme = d_es_erreur_fichier;
             return;              return;
Line 852  formateur_elementaire_tex(struct_process Line 886  formateur_elementaire_tex(struct_process
   
     else if ((*s_objet).type == MRL)      else if ((*s_objet).type == MRL)
     {      {
         if (fprintf(fichier_impression, "\\left(\\begin{array}{") < 0)          if (tex_fprintf(s_etat_processus, fichier_impression,
                   "\\left(\\begin{array}{") < 0)
         {          {
             (*s_etat_processus).erreur_systeme = d_es_erreur_fichier;              (*s_etat_processus).erreur_systeme = d_es_erreur_fichier;
             return;              return;
Line 861  formateur_elementaire_tex(struct_process Line 896  formateur_elementaire_tex(struct_process
         for(i = 0; i < (*((struct_matrice *) (*s_objet).objet))          for(i = 0; i < (*((struct_matrice *) (*s_objet).objet))
                 .nombre_colonnes; i++)                  .nombre_colonnes; i++)
         {          {
             if (fprintf(fichier_impression, "c") < 0)              if (tex_fprintf(s_etat_processus, fichier_impression, "c") < 0)
             {              {
                 (*s_etat_processus).erreur_systeme = d_es_erreur_fichier;                  (*s_etat_processus).erreur_systeme = d_es_erreur_fichier;
                 return;                  return;
             }              }
         }          }
   
         if (fprintf(fichier_impression, "}\n") < 0)          if (tex_fprintf(s_etat_processus, fichier_impression, "}\n") < 0)
         {          {
             (*s_etat_processus).erreur_systeme = d_es_erreur_fichier;              (*s_etat_processus).erreur_systeme = d_es_erreur_fichier;
             return;              return;
Line 899  formateur_elementaire_tex(struct_process Line 934  formateur_elementaire_tex(struct_process
                 if (j == ((*((struct_matrice *) (*s_objet).objet))                  if (j == ((*((struct_matrice *) (*s_objet).objet))
                         .nombre_colonnes - 1))                          .nombre_colonnes - 1))
                 {                  {
                     if (fprintf(fichier_impression, " \\\\\n") < 0)                      if (tex_fprintf(s_etat_processus, fichier_impression,
                               " \\\\\n") < 0)
                     {                      {
                         (*s_etat_processus).erreur_systeme =                          (*s_etat_processus).erreur_systeme =
                                 d_es_erreur_fichier;                                  d_es_erreur_fichier;
Line 908  formateur_elementaire_tex(struct_process Line 944  formateur_elementaire_tex(struct_process
                 }                  }
                 else                  else
                 {                  {
                     if (fprintf(fichier_impression, " & ") < 0)                      if (tex_fprintf(s_etat_processus, fichier_impression,
                               " & ") < 0)
                     {                      {
                         (*s_etat_processus).erreur_systeme =                          (*s_etat_processus).erreur_systeme =
                                 d_es_erreur_fichier;                                  d_es_erreur_fichier;
Line 920  formateur_elementaire_tex(struct_process Line 957  formateur_elementaire_tex(struct_process
   
         free(s_objet_elementaire.objet);          free(s_objet_elementaire.objet);
   
         if (fprintf(fichier_impression, "\\end{array}\\right)\n") < 0)          if (tex_fprintf(s_etat_processus, fichier_impression,
                   "\\end{array}\\right)\n") < 0)
         {          {
             (*s_etat_processus).erreur_systeme = d_es_erreur_fichier;              (*s_etat_processus).erreur_systeme = d_es_erreur_fichier;
             return;              return;
Line 989  formateur_elementaire_tex(struct_process Line 1027  formateur_elementaire_tex(struct_process
             }              }
         }          }
   
         if (fprintf(fichier_impression, "%s", ligne) < 0)          if (tex_fprintf(s_etat_processus, fichier_impression, "%s", ligne) < 0)
         {          {
             (*s_etat_processus).erreur_systeme = d_es_erreur_fichier;              (*s_etat_processus).erreur_systeme = d_es_erreur_fichier;
             return;              return;
Line 1004  formateur_elementaire_tex(struct_process Line 1042  formateur_elementaire_tex(struct_process
   
     else if ((*s_objet).type == VCX)      else if ((*s_objet).type == VCX)
     {      {
         if (fprintf(fichier_impression, "\\left(\\begin{array}{c}\n") < 0)          if (tex_fprintf(s_etat_processus, fichier_impression,
                   "\\left(\\begin{array}{c}\n") < 0)
         {          {
             (*s_etat_processus).erreur_systeme = d_es_erreur_fichier;              (*s_etat_processus).erreur_systeme = d_es_erreur_fichier;
             return;              return;
Line 1031  formateur_elementaire_tex(struct_process Line 1070  formateur_elementaire_tex(struct_process
             formateur_elementaire_tex(s_etat_processus, fichier_impression,              formateur_elementaire_tex(s_etat_processus, fichier_impression,
                     &s_objet_elementaire, environnement);                      &s_objet_elementaire, environnement);
   
             if (fprintf(fichier_impression, " \\\\\n") < 0)              if (tex_fprintf(s_etat_processus, fichier_impression,
                       " \\\\\n") < 0)
             {              {
                 (*s_etat_processus).erreur_systeme = d_es_erreur_fichier;                  (*s_etat_processus).erreur_systeme = d_es_erreur_fichier;
                 return;                  return;
Line 1040  formateur_elementaire_tex(struct_process Line 1080  formateur_elementaire_tex(struct_process
   
         free(s_objet_elementaire.objet);          free(s_objet_elementaire.objet);
   
         if (fprintf(fichier_impression, "\\end{array}\\right)\n") < 0)          if (tex_fprintf(s_etat_processus, fichier_impression,
                   "\\end{array}\\right)\n") < 0)
         {          {
             (*s_etat_processus).erreur_systeme = d_es_erreur_fichier;              (*s_etat_processus).erreur_systeme = d_es_erreur_fichier;
             return;              return;
Line 1053  formateur_elementaire_tex(struct_process Line 1094  formateur_elementaire_tex(struct_process
   
     else if ((*s_objet).type == VIN)      else if ((*s_objet).type == VIN)
     {      {
         if (fprintf(fichier_impression, "\\left(\\begin{array}{c}\n") < 0)          if (tex_fprintf(s_etat_processus, fichier_impression,
                   "\\left(\\begin{array}{c}\n") < 0)
         {          {
             (*s_etat_processus).erreur_systeme = d_es_erreur_fichier;              (*s_etat_processus).erreur_systeme = d_es_erreur_fichier;
             return;              return;
Line 1077  formateur_elementaire_tex(struct_process Line 1119  formateur_elementaire_tex(struct_process
             formateur_elementaire_tex(s_etat_processus, fichier_impression,              formateur_elementaire_tex(s_etat_processus, fichier_impression,
                     &s_objet_elementaire, environnement);                      &s_objet_elementaire, environnement);
   
             if (fprintf(fichier_impression, " \\\\\n") < 0)              if (tex_fprintf(s_etat_processus, fichier_impression,
                       " \\\\\n") < 0)
             {              {
                 (*s_etat_processus).erreur_systeme = d_es_erreur_fichier;                  (*s_etat_processus).erreur_systeme = d_es_erreur_fichier;
                 return;                  return;
Line 1086  formateur_elementaire_tex(struct_process Line 1129  formateur_elementaire_tex(struct_process
   
         free(s_objet_elementaire.objet);          free(s_objet_elementaire.objet);
   
         if (fprintf(fichier_impression, "\\end{array}\\right)\n") < 0)          if (tex_fprintf(s_etat_processus, fichier_impression,
                   "\\end{array}\\right)\n") < 0)
         {          {
             (*s_etat_processus).erreur_systeme = d_es_erreur_fichier;              (*s_etat_processus).erreur_systeme = d_es_erreur_fichier;
             return;              return;
Line 1099  formateur_elementaire_tex(struct_process Line 1143  formateur_elementaire_tex(struct_process
   
     else if ((*s_objet).type == VRL)      else if ((*s_objet).type == VRL)
     {      {
         if (fprintf(fichier_impression, "\\left(\\begin{array}{c}\n") < 0)          if (tex_fprintf(s_etat_processus, fichier_impression,
                   "\\left(\\begin{array}{c}\n") < 0)
         {          {
             (*s_etat_processus).erreur_systeme = d_es_erreur_fichier;              (*s_etat_processus).erreur_systeme = d_es_erreur_fichier;
             return;              return;
Line 1123  formateur_elementaire_tex(struct_process Line 1168  formateur_elementaire_tex(struct_process
             formateur_elementaire_tex(s_etat_processus, fichier_impression,              formateur_elementaire_tex(s_etat_processus, fichier_impression,
                     &s_objet_elementaire, environnement);                      &s_objet_elementaire, environnement);
   
             if (fprintf(fichier_impression, " \\\\\n") < 0)              if (tex_fprintf(s_etat_processus, fichier_impression,
                       " \\\\\n") < 0)
             {              {
                 (*s_etat_processus).erreur_systeme = d_es_erreur_fichier;                  (*s_etat_processus).erreur_systeme = d_es_erreur_fichier;
                 return;                  return;
Line 1132  formateur_elementaire_tex(struct_process Line 1178  formateur_elementaire_tex(struct_process
   
         free(s_objet_elementaire.objet);          free(s_objet_elementaire.objet);
   
         if (fprintf(fichier_impression, "\\end{array}\\right)\n") < 0)          if (tex_fprintf(s_etat_processus, fichier_impression,
                       "\\end{array}\\right)\n") < 0)
         {          {
             (*s_etat_processus).erreur_systeme = d_es_erreur_fichier;              (*s_etat_processus).erreur_systeme = d_es_erreur_fichier;
             return;              return;
Line 1150  formateur_elementaire_tex(struct_process Line 1197  formateur_elementaire_tex(struct_process
                 .nom_fonction, "-") == 0) || (strcmp((*((struct_fonction *)                  .nom_fonction, "-") == 0) || (strcmp((*((struct_fonction *)
                 (*s_objet).objet)).nom_fonction, "/") == 0))                  (*s_objet).objet)).nom_fonction, "/") == 0))
         {          {
             if (fprintf(fichier_impression, "$%s$", (*((struct_fonction *)              if (tex_fprintf(s_etat_processus, fichier_impression, "$%s$",
                     (*s_objet).objet)).nom_fonction) < 0)                      (*((struct_fonction *) (*s_objet).objet)).nom_fonction) < 0)
             {              {
                 (*s_etat_processus).erreur_systeme = d_es_erreur_fichier;                  (*s_etat_processus).erreur_systeme = d_es_erreur_fichier;
                 return;                  return;
Line 1160  formateur_elementaire_tex(struct_process Line 1207  formateur_elementaire_tex(struct_process
         else if (strcmp((*((struct_fonction *) (*s_objet).objet)).nom_fonction,          else if (strcmp((*((struct_fonction *) (*s_objet).objet)).nom_fonction,
                 "*") == 0)                  "*") == 0)
         {          {
             if (fprintf(fichier_impression, "$\\times$") < 0)              if (tex_fprintf(s_etat_processus, fichier_impression,
                       "$\\times$") < 0)
             {              {
                 (*s_etat_processus).erreur_systeme = d_es_erreur_fichier;                  (*s_etat_processus).erreur_systeme = d_es_erreur_fichier;
                 return;                  return;
Line 1169  formateur_elementaire_tex(struct_process Line 1217  formateur_elementaire_tex(struct_process
         else if (strcmp((*((struct_fonction *) (*s_objet).objet)).nom_fonction,          else if (strcmp((*((struct_fonction *) (*s_objet).objet)).nom_fonction,
                 "^") == 0)                  "^") == 0)
         {          {
             if (fprintf(fichier_impression, "$\\,\\hat{}\\,$") < 0)              if (tex_fprintf(s_etat_processus, fichier_impression,
                       "$\\,\\hat{}\\,$") < 0)
             {              {
                 (*s_etat_processus).erreur_systeme = d_es_erreur_fichier;                  (*s_etat_processus).erreur_systeme = d_es_erreur_fichier;
                 return;                  return;
Line 1178  formateur_elementaire_tex(struct_process Line 1227  formateur_elementaire_tex(struct_process
         else if (strcmp((*((struct_fonction *) (*s_objet).objet)).nom_fonction,          else if (strcmp((*((struct_fonction *) (*s_objet).objet)).nom_fonction,
                 "->") == 0)                  "->") == 0)
         {          {
             if (fprintf(fichier_impression, "$\\rightarrow$") < 0)              if (tex_fprintf(s_etat_processus, fichier_impression,
                       "$\\rightarrow$") < 0)
             {              {
                 (*s_etat_processus).erreur_systeme = d_es_erreur_fichier;                  (*s_etat_processus).erreur_systeme = d_es_erreur_fichier;
                 return;                  return;
Line 1199  formateur_elementaire_tex(struct_process Line 1249  formateur_elementaire_tex(struct_process
   
             correction_formateur_tex(s_etat_processus, &ligne);              correction_formateur_tex(s_etat_processus, &ligne);
                           
             if (fprintf(fichier_impression, ligne) < 0)              if (tex_fprintf(s_etat_processus, fichier_impression, ligne) < 0)
             {              {
                 (*s_etat_processus).erreur_systeme = d_es_erreur_fichier;                  (*s_etat_processus).erreur_systeme = d_es_erreur_fichier;
                 return;                  return;
Line 1218  formateur_elementaire_tex(struct_process Line 1268  formateur_elementaire_tex(struct_process
     {      {
         if ((*s_objet).type == LST)          if ((*s_objet).type == LST)
         {          {
             if (fprintf(fichier_impression, "\\begin{equation}\n") < 0)              if (tex_fprintf(s_etat_processus, fichier_impression,
                       "\\begin{equation}\n") < 0)
             {              {
                 (*s_etat_processus).erreur_systeme = d_es_erreur_fichier;                  (*s_etat_processus).erreur_systeme = d_es_erreur_fichier;
                 return;                  return;
             }              }
   
             if (fprintf(fichier_impression, "\\left\\{\\text{%%\n") < 0)              if (tex_fprintf(s_etat_processus, fichier_impression,
                       "\\left\\{\\text{%%\n") < 0)
             {              {
                 (*s_etat_processus).erreur_systeme = d_es_erreur_fichier;                  (*s_etat_processus).erreur_systeme = d_es_erreur_fichier;
                 return;                  return;
Line 1245  formateur_elementaire_tex(struct_process Line 1297  formateur_elementaire_tex(struct_process
                     ((*(*l_element_courant).donnee).type == MCX) ||                      ((*(*l_element_courant).donnee).type == MCX) ||
                     ((*(*l_element_courant).donnee).type == BIN))                      ((*(*l_element_courant).donnee).type == BIN))
             {              {
                 if (fprintf(fichier_impression, "$") < 0)                  if (tex_fprintf(s_etat_processus, fichier_impression, "$") < 0)
                 {                  {
                     (*s_etat_processus).erreur_systeme = d_es_erreur_fichier;                      (*s_etat_processus).erreur_systeme = d_es_erreur_fichier;
                     return;                      return;
Line 1254  formateur_elementaire_tex(struct_process Line 1306  formateur_elementaire_tex(struct_process
                 formateur_elementaire_tex(s_etat_processus, fichier_impression,                  formateur_elementaire_tex(s_etat_processus, fichier_impression,
                         (*l_element_courant).donnee, environnement);                          (*l_element_courant).donnee, environnement);
   
                 if (fprintf(fichier_impression, "$%%") < 0)                  if (tex_fprintf(s_etat_processus, fichier_impression,
                           "$%%") < 0)
                 {                  {
                     (*s_etat_processus).erreur_systeme = d_es_erreur_fichier;                      (*s_etat_processus).erreur_systeme = d_es_erreur_fichier;
                     return;                      return;
Line 1266  formateur_elementaire_tex(struct_process Line 1319  formateur_elementaire_tex(struct_process
                         (*l_element_courant).donnee, environnement);                          (*l_element_courant).donnee, environnement);
             }              }
   
             if (fprintf(fichier_impression, "\n") < 0)              if (tex_fprintf(s_etat_processus, fichier_impression, "\n") < 0)
             {              {
                 (*s_etat_processus).erreur_systeme = d_es_erreur_fichier;                  (*s_etat_processus).erreur_systeme = d_es_erreur_fichier;
                 return;                  return;
Line 1277  formateur_elementaire_tex(struct_process Line 1330  formateur_elementaire_tex(struct_process
   
         if ((*s_objet).type == LST)          if ((*s_objet).type == LST)
         {          {
             if (fprintf(fichier_impression, "}\\right\\}\\nonumber\n") < 0)              if (tex_fprintf(s_etat_processus, fichier_impression,
                       "}\\right\\}\\nonumber\n") < 0)
             {              {
                 (*s_etat_processus).erreur_systeme = d_es_erreur_fichier;                  (*s_etat_processus).erreur_systeme = d_es_erreur_fichier;
                 return;                  return;
             }              }
   
             if (fprintf(fichier_impression, "\\end{equation}\n") < 0)              if (tex_fprintf(s_etat_processus, fichier_impression,
                       "\\end{equation}\n") < 0)
             {              {
                 (*s_etat_processus).erreur_systeme = d_es_erreur_fichier;                  (*s_etat_processus).erreur_systeme = d_es_erreur_fichier;
                 return;                  return;
Line 2065  formateur_elementaire_tex(struct_process Line 2120  formateur_elementaire_tex(struct_process
             return;              return;
         }          }
   
         if (fprintf(fichier_impression, "%s",          if (tex_fprintf(s_etat_processus, fichier_impression, "%s",
                 (unsigned char *) (*s_sous_objet).objet) < 0)                  (unsigned char *) (*s_sous_objet).objet) < 0)
         {          {
             (*s_etat_processus).erreur_systeme = d_es_erreur_fichier;              (*s_etat_processus).erreur_systeme = d_es_erreur_fichier;
             return;              return;
         }          }
   
   
         liberation(s_etat_processus, s_sous_objet);          liberation(s_etat_processus, s_sous_objet);
         liberation(s_etat_processus, s_copie_objet);          liberation(s_etat_processus, s_copie_objet);
     }      }
Line 2190  impression_tex(struct_processus *s_etat_ Line 2244  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;
Line 2262  impression_tex(struct_processus *s_etat_ Line 2317  impression_tex(struct_processus *s_etat_
         return;          return;
     }      }
   
     if (fprintf(fichier_impression, "\\end{document}\n") < 0)      if (tex_fprintf(s_etat_processus, fichier_impression,
               "\\end{document}\n") < 0)
     {      {
         (*s_etat_processus).erreur_systeme = d_es_erreur_fichier;          (*s_etat_processus).erreur_systeme = d_es_erreur_fichier;
         return;          return;
Line 2274  impression_tex(struct_processus *s_etat_ Line 2330  impression_tex(struct_processus *s_etat_
         return;          return;
     }      }
   
     if ((commande = (unsigned char *) malloc(((strlen(ds_tex_commande) - 15)      if ((*s_etat_processus).rpl_home == NULL)
             + (2 * strlen((*s_etat_processus).chemin_fichiers_temporaires))  
             + strlen((*s_etat_processus).nom_fichier_impression)  
             + (2 * strlen(nom_fichier_tex))  
             + (3 * strlen(d_exec_path))  
             + strlen(nom_fichier_dvi) + strlen(nom_fichier_ps))  
             * sizeof(unsigned char))) == NULL)  
     {      {
         (*s_etat_processus).erreur_systeme = d_es_allocation_memoire;          if (alsprintf(&commande, ds_tex_commande,
         return;                  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)
           {
               (*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
       {
           if (alsprintf(&commande, ds_tex_commande,
                   (*s_etat_processus).rpl_home,
                   (*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)
           {
               (*s_etat_processus).erreur_systeme = d_es_allocation_memoire;
               return;
           }
   
     sprintf(commande, ds_tex_commande, d_exec_path, d_exec_path, d_exec_path,          if (alsprintf(&executable_candidat, "%s/bin/rpliconv",
             (*s_etat_processus).nom_fichier_impression,                  (*s_etat_processus).rpl_home) < 0)
             (*s_etat_processus).nom_fichier_impression, nom_fichier_tex,          {
             (*s_etat_processus).chemin_fichiers_temporaires,              (*s_etat_processus).erreur_systeme = d_es_allocation_memoire;
             nom_fichier_tex, nom_fichier_dvi, nom_fichier_ps);              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)      if (system(commande) != 0)
     {      {
Line 2301  impression_tex(struct_processus *s_etat_ Line 2463  impression_tex(struct_processus *s_etat_
     {      {
         free(commande);          free(commande);
   
         if ((commande = (unsigned char *) malloc((strlen(ds_tex_postscript)          if (alsprintf(&commande, ds_tex_postscript, nom_fichier_ps) < 0)
                 + strlen(nom_fichier_ps) - 1) * sizeof(unsigned char))) == NULL)  
         {          {
             (*s_etat_processus).erreur_systeme = d_es_allocation_memoire;              (*s_etat_processus).erreur_systeme = d_es_allocation_memoire;
             return;              return;
         }          }
   
         sprintf(commande, ds_tex_postscript, nom_fichier_ps);  
   
         if (system(commande) != 0)          if (system(commande) != 0)
         {          {
             (*s_etat_processus).erreur_execution = d_ex_erreur_impression;              (*s_etat_processus).erreur_execution = d_ex_erreur_impression;
Line 2336  impression_tex(struct_processus *s_etat_ Line 2495  impression_tex(struct_processus *s_etat_
   
     if (destruction_fichier(nom_fichier_tex) == d_erreur)      if (destruction_fichier(nom_fichier_tex) == d_erreur)
     {      {
           free(nom_fichier_aux);
           free(nom_fichier_log);
           free(nom_fichier_dvi);
           free(nom_fichier_tex);
           free(nom_fichier_ps);
   
         (*s_etat_processus).erreur_systeme = d_es_erreur_fichier;          (*s_etat_processus).erreur_systeme = d_es_erreur_fichier;
         return;          return;
     }      }
   
     if (destruction_fichier(nom_fichier_aux) == d_erreur)      if (destruction_fichier(nom_fichier_aux) == d_erreur)
     {      {
           free(nom_fichier_aux);
           free(nom_fichier_log);
           free(nom_fichier_dvi);
           free(nom_fichier_tex);
           free(nom_fichier_ps);
   
         (*s_etat_processus).erreur_systeme = d_es_erreur_fichier;          (*s_etat_processus).erreur_systeme = d_es_erreur_fichier;
         return;          return;
     }      }
   
     if (destruction_fichier(nom_fichier_dvi) == d_erreur)      if (destruction_fichier(nom_fichier_dvi) == d_erreur)
     {      {
           free(nom_fichier_aux);
           free(nom_fichier_log);
           free(nom_fichier_dvi);
           free(nom_fichier_tex);
           free(nom_fichier_ps);
   
         (*s_etat_processus).erreur_systeme = d_es_erreur_fichier;          (*s_etat_processus).erreur_systeme = d_es_erreur_fichier;
         return;          return;
     }      }
   
     if (destruction_fichier(nom_fichier_log) == d_erreur)      if (destruction_fichier(nom_fichier_log) == d_erreur)
     {      {
           free(nom_fichier_aux);
           free(nom_fichier_log);
           free(nom_fichier_dvi);
           free(nom_fichier_tex);
           free(nom_fichier_ps);
   
         (*s_etat_processus).erreur_systeme = d_es_erreur_fichier;          (*s_etat_processus).erreur_systeme = d_es_erreur_fichier;
         return;          return;
     }      }

Removed from v.1.1  
changed lines
  Added in v.1.22


CVSweb interface <joel.bertrand@systella.fr>