From fe710250508e0710ac5db1fff1596ac5b092ab64 Mon Sep 17 00:00:00 2001 From: Ulrich Drepper Date: Thu, 3 Aug 2006 20:36:43 +0000 Subject: [PATCH] [BZ #2182] * math/s_cacosh.c: Return values from positive branch. * math/s_cacoshf.c: Likewise. * math/s_cacoshl.c: Likewise. * sysvipc/msgrcv.c: Likewise. * include/sys/msg.h: Likewise. --- ChangeLog | 7 +++++++ include/sys/msg.h | 4 ++-- math/s_cacosh.c | 4 ++++ math/s_cacoshf.c | 4 ++++ math/s_cacoshl.c | 4 ++++ sysvipc/msgrcv.c | 4 ++-- 6 files changed, 23 insertions(+), 4 deletions(-) diff --git a/ChangeLog b/ChangeLog index 2f222e8..34428ca 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,8 +1,15 @@ 2006-08-03 Ulrich Drepper + [BZ #2182] + * math/s_cacosh.c: Return values from positive branch. + * math/s_cacoshf.c: Likewise. + * math/s_cacoshl.c: Likewise. + [BZ #2883] * sysvipc/sys/msg.h: Change return value to ssize_t. * sysdeps/unix/sysv/linux/msgrcv.c: Likewise. + * sysvipc/msgrcv.c: Likewise. + * include/sys/msg.h: Likewise. * grp/initgroups.c (internal_getgrouplist): Remove unnecessary test introduced in patch for bz #661. diff --git a/include/sys/msg.h b/include/sys/msg.h index 02bb9ae..03e17f9 100644 --- a/include/sys/msg.h +++ b/include/sys/msg.h @@ -1,8 +1,8 @@ #ifndef _SYS_MSG_H #include -extern int __libc_msgrcv (int msqid, void *msgp, size_t msgsz, long int msgtyp, - int msgflg); +extern ssize_t __libc_msgrcv (int msqid, void *msgp, size_t msgsz, + long int msgtyp, int msgflg); extern int __libc_msgsnd (int msqid, const void *msgp, size_t msgsz, int msgflg); diff --git a/math/s_cacosh.c b/math/s_cacosh.c index e921f07..ada7ca5 100644 --- a/math/s_cacosh.c +++ b/math/s_cacosh.c @@ -80,6 +80,10 @@ __cacosh (__complex__ double x) __imag__ y += __imag__ x; res = __clog (y); + + /* We have to use the positive branch. */ + if (__real__ res < 0.0) + res = -res; } return res; diff --git a/math/s_cacoshf.c b/math/s_cacoshf.c index 3fc48bb..a062ffc 100644 --- a/math/s_cacoshf.c +++ b/math/s_cacoshf.c @@ -95,6 +95,10 @@ __cacoshf (__complex__ float x) + ro); __imag__ res = __ieee754_atan2f (__imag__ x + b, __real__ x + a); #endif + + /* We have to use the positive branch. */ + if (__real__ res < 0.0) + res = -res; } return res; diff --git a/math/s_cacoshl.c b/math/s_cacoshl.c index 6438589..da23c8d 100644 --- a/math/s_cacoshl.c +++ b/math/s_cacoshl.c @@ -80,6 +80,10 @@ __cacoshl (__complex__ long double x) __imag__ y += __imag__ x; res = __clogl (y); + + /* We have to use the positive branch. */ + if (__real__ res < 0.0) + res = -res; } return res; diff --git a/sysvipc/msgrcv.c b/sysvipc/msgrcv.c index f366fa8..83732b3 100644 --- a/sysvipc/msgrcv.c +++ b/sysvipc/msgrcv.c @@ -1,4 +1,4 @@ -/* Copyright (C) 1995, 1996, 1997 Free Software Foundation, Inc. +/* Copyright (C) 1995, 1996, 1997, 2006 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Ulrich Drepper , August 1995. @@ -26,7 +26,7 @@ describes which message is returned in MSGFLG describes the behaviour in buffer overflow or queue underflow. */ -int +ssize_t msgrcv (msqid, msgp, msgsz, msgtyp, msgflg) int msqid; void *msgp; -- 2.7.4