summaryrefslogtreecommitdiff
path: root/lib/ZRecvNot.c
diff options
context:
space:
mode:
Diffstat (limited to 'lib/ZRecvNot.c')
-rw-r--r--lib/ZRecvNot.c27
1 files changed, 15 insertions, 12 deletions
diff --git a/lib/ZRecvNot.c b/lib/ZRecvNot.c
index d12a0f7..0ebe3cc 100644
--- a/lib/ZRecvNot.c
+++ b/lib/ZRecvNot.c
@@ -20,18 +20,21 @@ static char rcsid_ZReceiveNotice_c[] = "$Header$";
#include <zephyr/zephyr_internal.h>
-Code_t ZReceiveNotice(buffer,buffer_len,notice,from)
- ZPacket_t buffer;
- int buffer_len;
- ZNotice_t *notice;
- struct sockaddr_in *from;
+Code_t ZReceiveNotice(notice, from)
+ ZNotice_t *notice;
+ struct sockaddr_in *from;
{
- int len;
- Code_t retval;
-
- if ((retval = ZReceivePacket(buffer,buffer_len,&len,from)) !=
- ZERR_NONE)
- return (retval);
+ char *buffer;
+ int len;
+ Code_t retval;
- return (ZParseNotice(buffer,len,notice));
+ if (!(buffer = malloc(Z_MAXPKTLEN)))
+ return (ENOMEM);
+
+ if ((retval = ZReceivePacket(buffer, &len, from)) != ZERR_NONE)
+ return (retval);
+
+ buffer = realloc(buffer, len); /* XXX */
+
+ return (ZParseNotice(buffer, len, notice));
}