X-Git-Url: http://git.silcnet.org/gitweb/?a=blobdiff_plain;f=lib%2Fsilccore%2Fsilcnotify.c;h=fc3dd8b28f559fe7ebcb9155def0a18fab29ea43;hb=52e57c880aba9c5e89f59d962eb9af75670b76e0;hp=96f7fc39ce1b794635d28a483c431d2e1d0ffa6c;hpb=0f0340b9fbce9704cc7171f8f0104ce9103d2de6;p=silc.git diff --git a/lib/silccore/silcnotify.c b/lib/silccore/silcnotify.c index 96f7fc39..fc3dd8b2 100644 --- a/lib/silccore/silcnotify.c +++ b/lib/silccore/silcnotify.c @@ -4,7 +4,7 @@ Author: Pekka Riikonen - Copyright (C) 2000 - 2005 Pekka Riikonen + Copyright (C) 2000 - 2007 Pekka Riikonen This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -18,7 +18,7 @@ */ /* $Id$ */ -#include "silcincludes.h" +#include "silc.h" #include "silcnotify.h" /****************************************************************************** @@ -63,8 +63,11 @@ SilcNotifyPayload silc_notify_payload_parse(const unsigned char *payload, if (newp->argc) { silc_buffer_pull(&buffer, 5); - newp->args = silc_argument_payload_parse(buffer.data, silc_buffer_len(&buffer), + newp->args = silc_argument_payload_parse(buffer.data, + silc_buffer_len(&buffer), newp->argc); + if (!newp->args) + goto err; silc_buffer_push(&buffer, 5); } @@ -142,11 +145,10 @@ SilcBuffer silc_notify_payload_encode(SilcNotifyType type, SilcUInt32 argc, SILC_STR_END); if (k) { - silc_buffer_pull(buffer, 5); silc_buffer_format(buffer, - SILC_STR_UI_XNSTRING(args->data, silc_buffer_len(args)), + SILC_STR_OFFSET(5), + SILC_STR_DATA(args->data, silc_buffer_len(args)), SILC_STR_END); - silc_buffer_push(buffer, 5); silc_buffer_free(args); } @@ -172,13 +174,11 @@ SilcBuffer silc_notify_payload_encode_args(SilcNotifyType type, SILC_STR_UI_CHAR(argc), SILC_STR_END); - if (args) { - silc_buffer_pull(buffer, 5); + if (args) silc_buffer_format(buffer, - SILC_STR_UI_XNSTRING(args->data, silc_buffer_len(args)), + SILC_STR_OFFSET(5), + SILC_STR_DATA(args->data, silc_buffer_len(args)), SILC_STR_END); - silc_buffer_push(buffer, 5); - } return buffer; }