--- rpl/src/instructions_f1.c 2013/02/27 17:11:42 1.52 +++ rpl/src/instructions_f1.c 2013/03/20 17:11:45 1.53 @@ -59,8 +59,8 @@ instruction_fleche(struct_processus *s_e unsigned char *tampon; unsigned char test_instruction; - unsigned long i; - unsigned long nombre_variables; + integer8 i; + integer8 nombre_variables; void (*fonction)(); @@ -838,8 +838,7 @@ instruction_fleche_list(struct_processus return; } - if ((unsigned long) nombre_elements >= - (*s_etat_processus).hauteur_pile_operationnelle) + if (nombre_elements >= (*s_etat_processus).hauteur_pile_operationnelle) { (*s_etat_processus).erreur_execution = d_ex_manque_argument; return; @@ -1844,7 +1843,7 @@ instruction_fact(struct_processus *s_eta for (i = 1; i <= (*((integer8 *) (*s_objet_argument).objet)); i++) { - produit *= i; + produit *= (real8) i; } if ((s_objet_resultat = allocation(s_etat_processus, REL)) @@ -2168,7 +2167,7 @@ instruction_floor(struct_processus *s_et return; } - (*((integer8 *) (*s_objet_resultat).objet)) = + (*((integer8 *) (*s_objet_resultat).objet)) = (integer8) floor((*((real8 *) (*s_objet_argument).objet))); if (!((((*((integer8 *) (*s_objet_resultat).objet)) < @@ -2800,7 +2799,7 @@ instruction_fix(struct_processus *s_etat return; } - (*((logical8 *) (*s_objet).objet)) = + (*((logical8 *) (*s_objet).objet)) = (logical8) (*((integer8 *) (*s_objet_argument).objet)); i43 = test_cfsf(s_etat_processus, 43); @@ -2838,15 +2837,15 @@ instruction_fix(struct_processus *s_etat { if (valeur_binaire[i] == '0') { - cf(s_etat_processus, j++); + cf(s_etat_processus, (unsigned char) j++); } else { - sf(s_etat_processus, j++); + sf(s_etat_processus, (unsigned char) j++); } } - for(; j <= 56; cf(s_etat_processus, j++)); + for(; j <= 56; cf(s_etat_processus, (unsigned char) j++)); sf(s_etat_processus, 49); cf(s_etat_processus, 50);