Browse Source

msgrcv is of type ssize_t

Signed-off-by: Peter S. Mazinger <ps.m@gmx.net>
Signed-off-by: Bernhard Reutner-Fischer <rep.dot.nop@gmail.com>
Peter S. Mazinger 14 years ago
parent
commit
a193e5a084
2 changed files with 9 additions and 5 deletions
  1. 7 3
      include/sys/msg.h
  2. 2 2
      libc/misc/sysvipc/msgq.c

+ 7 - 3
include/sys/msg.h

@@ -1,4 +1,5 @@
-/* Copyright (C) 1995,1996,1997,1999,2000,2003 Free Software Foundation, Inc.
+/* Copyright (C) 1995-1997,1999,2000,2003,2006,2007
+   Free Software Foundation, Inc.
    This file is part of the GNU C Library.
 
    The GNU C Library is free software; you can redistribute it and/or
@@ -21,6 +22,9 @@
 
 #include <features.h>
 
+#define __need_size_t
+#include <stddef.h>
+
 /* Get common definition of System V style IPC.  */
 #include <sys/ipc.h>
 
@@ -66,8 +70,8 @@ extern int msgget (key_t __key, int __msgflg) __THROW;
 
    This function is a cancellation point and therefore not marked with
    __THROW.  */
-extern int msgrcv (int __msqid, void *__msgp, size_t __msgsz,
-		   long int __msgtyp, int __msgflg);
+extern ssize_t msgrcv (int __msqid, void *__msgp, size_t __msgsz,
+		       long int __msgtyp, int __msgflg);
 
 /* Send message to message queue.
 

+ 2 - 2
libc/misc/sysvipc/msgq.c

@@ -43,9 +43,9 @@ struct new_msg_buf{
 
 #ifdef L_msgrcv
 #ifdef __NR_msgrcv
-_syscall5(int, msgrcv, int, msqid, void *, msgp, size_t, msgsz, long int, msgtyp, int, msgflg)
+_syscall5(ssize_t, msgrcv, int, msqid, void *, msgp, size_t, msgsz, long int, msgtyp, int, msgflg)
 #else
-int msgrcv (int msqid, void *msgp, size_t msgsz,
+ssize_t msgrcv (int msqid, void *msgp, size_t msgsz,
 	long int msgtyp, int msgflg)
 {
     struct new_msg_buf temp;