diff options
author | 1988-05-13 14:16:15 +0000 | |
---|---|---|
committer | 1988-05-13 14:16:15 +0000 | |
commit | fef29bc13f6ce59e26aa36b0151d3262b8beab65 (patch) | |
tree | 7a96988a8730c1aaca47c8124f7ef772a598bc87 /lib/ZFmtRaw.c | |
parent | bbb9f7303ec10ed46f1f6ecf3510dbbc35f3bed4 (diff) |
New mallocing stuff
Diffstat (limited to 'lib/ZFmtRaw.c')
-rw-r--r-- | lib/ZFmtRaw.c | 38 |
1 files changed, 17 insertions, 21 deletions
diff --git a/lib/ZFmtRaw.c b/lib/ZFmtRaw.c index b389c3a..28f5dff 100644 --- a/lib/ZFmtRaw.c +++ b/lib/ZFmtRaw.c @@ -20,31 +20,27 @@ static char rcsid_ZFormatRawNotice_c[] = "$Header$"; #include <zephyr/zephyr.h> -Code_t ZFormatRawNotice(notice,buffer,buffer_len,len) - ZNotice_t *notice; - ZPacket_t buffer; - int buffer_len; - int *len; +Code_t ZFormatRawNotice(notice, buffer, ret_len, cert_routine) + ZNotice_t *notice; + char **buffer; + int *ret_len; + int (*cert_routine)(); { - char *ptr; - int hdrlen; - Code_t retval; + char header[Z_MAXHEADERLEN]; + char *ptr; + int hdrlen; + Code_t retval; - if ((retval = Z_FormatRawHeader(notice,buffer,buffer_len,&hdrlen)) != - ZERR_NONE) - return (retval); + if ((retval = Z_FormatRawHeader(notice, header, sizeof(header), &hdrlen, + cert_routine)) != ZERR_NONE) + return (retval); - ptr = buffer+hdrlen; + *ret_len = hdrlen+notice->z_message_len; - if (notice->z_message_len+hdrlen > buffer_len) - return (ZERR_PKTLEN); + if (!(*buffer = malloc(*ret_len))) + return (ENOMEM); - bcopy(notice->z_message,ptr,notice->z_message_len); + bcopy(notice->z_message, *buffer+hdrlen, notice->z_message_len); - *len = hdrlen+notice->z_message_len; - - if (*len > Z_MAXPKTLEN) - return (ZERR_PKTLEN); - - return (ZERR_NONE); + return (ZERR_NONE); } |