--- rpl/src/analyse.c 2012/10/01 11:04:57 1.75 +++ rpl/src/analyse.c 2013/03/20 17:11:43 1.82 @@ -1,7 +1,7 @@ /* ================================================================================ - RPL/2 (R) version 4.1.11 - Copyright (C) 1989-2012 Dr. BERTRAND Joël + RPL/2 (R) version 4.1.13 + Copyright (C) 1989-2013 Dr. BERTRAND Joël This file is part of RPL/2. @@ -61,7 +61,7 @@ creation_instruction(struct_processus *s (*(*s_etat_processus).arbre_instructions).feuille = NULL; if (((*(*s_etat_processus).arbre_instructions).noeuds = - malloc((*s_etat_processus).nombre_caracteres + malloc(((size_t) (*s_etat_processus).nombre_caracteres) * sizeof(struct_instruction))) == NULL) { (*s_etat_processus).erreur_systeme = d_es_allocation_memoire; @@ -101,7 +101,7 @@ creation_instruction(struct_processus *s if (((*(*l_instruction_courante).noeuds[(*s_etat_processus) .pointeurs_caracteres[*ptr]]).noeuds = - malloc((*s_etat_processus).nombre_caracteres + malloc(((size_t) (*s_etat_processus).nombre_caracteres) * sizeof(struct_instruction))) == NULL) { (*s_etat_processus).erreur_systeme = d_es_allocation_memoire; @@ -180,7 +180,7 @@ initialisation_instructions(struct_proce } if (((*s_etat_processus).pointeurs_caracteres = - malloc(longueur_tableau * sizeof(int))) == NULL) + malloc(((size_t) longueur_tableau * sizeof(int)))) == NULL) { (*s_etat_processus).erreur_systeme = d_es_allocation_memoire; return; @@ -722,6 +722,7 @@ initialisation_instructions(struct_proce INSTRUCTION("ATEXIT", instruction_atexit); INSTRUCTION("ATPOKE", instruction_atpoke); INSTRUCTION("BESSEL", instruction_bessel); + INSTRUCTION("CIPHER", instruction_cipher); INSTRUCTION("CLRERR", instruction_clrerr); INSTRUCTION("CLRMTX", instruction_clrmtx); INSTRUCTION("CLRSWI", instruction_clrswi); @@ -746,6 +747,7 @@ initialisation_instructions(struct_proce INSTRUCTION("DETACH", instruction_spawn); # endif INSTRUCTION("DIAG->", instruction_diag_fleche); + INSTRUCTION("DIGEST", instruction_digest); //INSTRUCTION("DOLIST") //Instruction HP48 (application d'une fonction à une liste) //liste(s) nombre_de_listes_a_traiter fonction DOLIST @@ -1101,8 +1103,8 @@ analyse(struct_processus *s_etat_process if ((position = index((*s_etat_processus).instruction_courante, '$')) != NULL) { - if ((bibliotheque_candidate = malloc((position + 1 - - (*s_etat_processus).instruction_courante) + if ((bibliotheque_candidate = malloc(((size_t) (position + 1 + - (*s_etat_processus).instruction_courante)) * sizeof(unsigned char))) == NULL) { (*s_etat_processus).erreur_systeme = d_es_allocation_memoire; @@ -1111,8 +1113,8 @@ analyse(struct_processus *s_etat_process (*bibliotheque_candidate) = d_code_fin_chaine; strncat(bibliotheque_candidate, - (*s_etat_processus).instruction_courante, - position - (*s_etat_processus).instruction_courante); + (*s_etat_processus).instruction_courante, ((size_t) + (position - (*s_etat_processus).instruction_courante))); position++; @@ -1230,9 +1232,9 @@ analyse(struct_processus *s_etat_process (*s_etat_processus).pourcentage_maximal_cpu) - (pourcentage * temps_cpu / 100); - temporisation.tv_sec = floor(attente); - temporisation.tv_nsec = (attente - temporisation.tv_sec) * - 1E9; + temporisation.tv_sec = (__time_t) floor(attente); + temporisation.tv_nsec = (__suseconds_t) ((attente + - ((real8) temporisation.tv_sec)) * 1E9); while(nanosleep(&temporisation, &temporisation) == -1) {