Diff for /rpl/src/interface_cas.cpp between versions 1.65 and 1.66

version 1.65, 2020/06/04 09:35:35 version 1.66, 2020/11/01 08:51:41
Line 707  interface_cas(struct_processus *s_etat_p Line 707  interface_cas(struct_processus *s_etat_p
   
             break;              break;
         }          }
   
           case RPLCAS_SIMPLIFICATION:
           {
               if (depilement(s_etat_processus, &(s_etat_processus->l_base_pile),
                       &s_objet_argument_1) == d_erreur)
               {
                   s_etat_processus->erreur_execution = d_ex_manque_argument;
                   return;
               }
   
               if ((argument_1 = conversion_rpl_vers_cas(s_etat_processus,
                       &s_objet_argument_1)) == NULL)
               {
                   s_etat_processus->erreur_systeme = d_es_allocation_memoire;
                   return;
               }
   
               liberation(s_etat_processus, s_objet_argument_1);
   
               try
               {
                   gen expression(
                           string(reinterpret_cast<const char *>(argument_1)),
                           contexte);
   
                   gen resultat = simplify(expression, contexte);
                   string chaine = "'" + resultat.print() + "'";
   
                   conversion_cas_vers_rpl(s_etat_processus,
                           reinterpret_cast<unsigned char *>(const_cast<char *>(
                           chaine.c_str())));
               }
               catch(bad_alloc &exception)
               {
                   s_etat_processus->erreur_systeme = d_es_allocation_memoire;
               }
               catch(...)
               {
                   s_etat_processus->erreur_execution = d_ex_erreur_interne_rplcas;
               }
   
               free(argument_1);
   
               break;
           }
     }      }
   
     return;      return;

Removed from v.1.65  
changed lines
  Added in v.1.66


CVSweb interface <joel.bertrand@systella.fr>