Diff for /rpl/src/interface_cas.cpp between versions 1.6 and 1.7

version 1.6, 2011/06/24 21:01:57 version 1.7, 2011/06/25 10:40:48
Line 253  interface_cas(struct_processus *s_etat_p Line 253  interface_cas(struct_processus *s_etat_p
             liberation(s_etat_processus, s_objet_argument_1);              liberation(s_etat_processus, s_objet_argument_1);
             liberation(s_etat_processus, s_objet_argument_2);              liberation(s_etat_processus, s_objet_argument_2);
   
             gen variable(string(reinterpret_cast<const char *>(argument_1)),              try
                     giac::context0);              {
             gen expression(string(reinterpret_cast<const char *>(argument_2)),                  giac::context   contexte;
                     giac::context0);  
   
             free(argument_1);  
             free(argument_2);  
   
             gen resultat = integrate(expression, variable, giac::context0);  
             string chaine = "'" + resultat.print() + "'";  
   
             registre = s_etat_processus->instruction_courante;  
             s_etat_processus->instruction_courante =  
                     reinterpret_cast<unsigned char *>(const_cast<char *>  
                     (chaine.c_str()));  
   
             recherche_type(s_etat_processus);                  gen variable(
                           string(reinterpret_cast<const char *>(argument_1)),
                           &contexte);
                   gen expression(
                           string(reinterpret_cast<const char *>(argument_2)),
                           &contexte);
   
                   gen resultat = integrate(expression, variable, &contexte);
                   string chaine = "'" + resultat.print() + "'";
   
                   registre = s_etat_processus->instruction_courante;
                   s_etat_processus->instruction_courante =
                           reinterpret_cast<unsigned char *>(const_cast<char *>
                           (chaine.c_str()));
   
                   recherche_type(s_etat_processus);
   
                   if (s_etat_processus->l_base_pile != NULL)
                   {
                       conversion_cas_vers_rpl(s_etat_processus,
                               s_etat_processus->l_base_pile->donnee);
                   }
   
             if (s_etat_processus->l_base_pile != NULL)                  s_etat_processus->instruction_courante = registre;
               }
               catch(bad_alloc exception)
               {
                   s_etat_processus->erreur_systeme = d_es_allocation_memoire;
               }
               catch(...)
             {              {
                 conversion_cas_vers_rpl(s_etat_processus,                  s_etat_processus->erreur_execution = d_ex_erreur_interne_rplcas;
                         s_etat_processus->l_base_pile->donnee);  
             }              }
   
             s_etat_processus->instruction_courante = registre;              free(argument_1);
               free(argument_2);
   
             break;              break;
         }          }

Removed from v.1.6  
changed lines
  Added in v.1.7


CVSweb interface <joel.bertrand@systella.fr>