--- rpl/src/instructions_s3.c 2013/02/27 17:11:44 1.44 +++ rpl/src/instructions_s3.c 2015/02/19 11:01:27 1.55 @@ -1,7 +1,7 @@ /* ================================================================================ - RPL/2 (R) version 4.1.13 - Copyright (C) 1989-2013 Dr. BERTRAND Joël + RPL/2 (R) version 4.1.21 + Copyright (C) 1989-2015 Dr. BERTRAND Joël This file is part of RPL/2. @@ -50,7 +50,7 @@ instruction_sub(struct_processus *s_etat unsigned char *ptr1; unsigned char *ptr2; - unsigned long i; + integer8 i; (*s_etat_processus).erreur_execution = d_ex; @@ -188,7 +188,7 @@ instruction_sub(struct_processus *s_etat return; } - if (((*s_objet_resultat).objet = malloc(((ptr2 - ptr1) + 1) * + if (((*s_objet_resultat).objet = malloc(((size_t) ((ptr2 - ptr1) + 1)) * sizeof(unsigned char))) == NULL) { (*s_etat_processus).erreur_systeme = d_es_allocation_memoire; @@ -196,7 +196,7 @@ instruction_sub(struct_processus *s_etat } strncpy((unsigned char *) (*s_objet_resultat).objet, ptr1, - ptr2 - ptr1)[ptr2 - ptr1] = d_code_fin_chaine; + (size_t) (ptr2 - ptr1))[ptr2 - ptr1] = d_code_fin_chaine; } /* @@ -221,7 +221,7 @@ instruction_sub(struct_processus *s_etat .objet; i = 1; - while(i < (unsigned long) (*((integer8 *) (*s_objet_argument_2).objet))) + while(i < (*((integer8 *) (*s_objet_argument_2).objet))) { if (l_element_courant == NULL) { @@ -244,7 +244,7 @@ instruction_sub(struct_processus *s_etat (*s_objet_argument_3).objet = l_element_courant; - while(i < (unsigned long) (*((integer8 *) (*s_objet_argument_1).objet))) + while(i < (*((integer8 *) (*s_objet_argument_1).objet))) { if (l_element_courant == NULL) {