--- rpl/src/instructions_e1.c 2012/12/18 13:19:36 1.39 +++ rpl/src/instructions_e1.c 2015/01/05 13:12:34 1.52 @@ -1,7 +1,7 @@ /* ================================================================================ - RPL/2 (R) version 4.1.12 - Copyright (C) 1989-2012 Dr. BERTRAND Joël + RPL/2 (R) version 4.1.19 + Copyright (C) 1989-2015 Dr. BERTRAND Joël This file is part of RPL/2. @@ -121,6 +121,7 @@ instruction_eval(struct_processus *s_eta sf(s_etat_processus, 31); } + liberation(s_etat_processus, s_objet); return; } @@ -475,7 +476,7 @@ instruction_else(struct_processus *s_eta unsigned char *instruction_majuscule; unsigned char *tampon; - unsigned long niveau; + integer8 niveau; void (*fonction)(); @@ -556,8 +557,9 @@ instruction_else(struct_processus *s_eta { if (strcmp(instruction_majuscule, "END") == 0) { - (*s_etat_processus).position_courante -= (strlen( - instruction_majuscule) + 1); + (*s_etat_processus).position_courante -= + (((integer8) strlen( + instruction_majuscule)) + 1); drapeau_fin = d_vrai; } else @@ -754,7 +756,7 @@ instruction_elseif(struct_processus *s_e unsigned char *instruction_majuscule; unsigned char *tampon; - unsigned long niveau; + integer8 niveau; void (*fonction)(); @@ -846,8 +848,9 @@ instruction_elseif(struct_processus *s_e { if (strcmp(instruction_majuscule, "END") == 0) { - (*s_etat_processus).position_courante -= (strlen( - instruction_majuscule) + 1); + (*s_etat_processus).position_courante -= + (((integer8) strlen( + instruction_majuscule)) + 1); drapeau_fin = d_vrai; } else @@ -1195,7 +1198,7 @@ instruction_eng(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); @@ -1233,15 +1236,15 @@ instruction_eng(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); sf(s_etat_processus, 50);