--- rpl/src/operations_atomiques.c 2012/12/19 09:58:27 1.41 +++ rpl/src/operations_atomiques.c 2019/01/01 09:03:14 1.69 @@ -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.30 + Copyright (C) 1989-2019 Dr. BERTRAND Joël This file is part of RPL/2. @@ -70,7 +70,8 @@ read_atomic(struct_processus *s_etat_pro if ((longueur_lue == 0) && (longueur_tampon == longueur_residuelle)) { - return(longueur_tampon - longueur_residuelle); + return(((ssize_t) longueur_tampon) - + ((ssize_t) longueur_residuelle)); } if ((longueur_lue == -1) && (errno == EINTR)) @@ -87,22 +88,23 @@ read_atomic(struct_processus *s_etat_pro if (longueur_lue != 0) { - if (longueur_lue < (longueur_residuelle > PIPE_BUF) - ? PIPE_BUF : longueur_residuelle) + if (longueur_lue < (ssize_t) ((longueur_residuelle > PIPE_BUF) + ? PIPE_BUF : longueur_residuelle)) { pointeur += longueur_lue; - longueur_residuelle -= longueur_lue; + longueur_residuelle -= (size_t) longueur_lue; - return(longueur_tampon - longueur_residuelle); + return(((ssize_t) longueur_tampon) - + ((ssize_t) longueur_residuelle)); } } } pointeur += longueur_lue; - longueur_residuelle -= longueur_lue; + longueur_residuelle -= (size_t) longueur_lue; } - return(longueur_tampon - longueur_residuelle); + return(((ssize_t) longueur_tampon) - ((ssize_t) longueur_residuelle)); } @@ -177,10 +179,10 @@ write_atomic(struct_processus *s_etat_pr } pointeur += longueur_ecrite; - longueur_residuelle -= longueur_ecrite; + longueur_residuelle -= (size_t) longueur_ecrite; } - return(longueur_tampon); + return((ssize_t) longueur_tampon); } // vim: ts=4