projects
/
silc.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Merged from silc_1_0_branch.
[silc.git]
/
lib
/
silcutil
/
silcbuffmt.c
diff --git
a/lib/silcutil/silcbuffmt.c
b/lib/silcutil/silcbuffmt.c
index c323a631fca987bd000f61cb80ef75e9473c8292..4fffb7c34d87b7144f9007c921453c97b9e2dfe0 100644
(file)
--- a/
lib/silcutil/silcbuffmt.c
+++ b/
lib/silcutil/silcbuffmt.c
@@
-21,14
+21,21
@@
#include "silcincludes.h"
#include "silcincludes.h"
-/* Macro to check whether there is enough free space to add the
+/* Macro
s
to check whether there is enough free space to add the
required amount of data. For unformatting this means that there must
be the data that is to be extracted. */
required amount of data. For unformatting this means that there must
be the data that is to be extracted. */
-#define
MY_HAS_SPACE(__x__, __req__)
\
+#define
FORMAT_HAS_SPACE(__x__, __req__)
\
do { \
if (__req__ > (__x__)->len) \
goto fail; \
} while(0)
do { \
if (__req__ > (__x__)->len) \
goto fail; \
} while(0)
+#define UNFORMAT_HAS_SPACE(__x__, __req__) \
+ do { \
+ if (__req__ > (__x__)->len) \
+ goto fail; \
+ if ((__req__ + 1) <= 0) \
+ goto fail; \
+ } while(0)
/* Formats the arguments sent and puts them into the buffer sent as
argument. The buffer must be initialized beforehand and it must have
/* Formats the arguments sent and puts them into the buffer sent as
argument. The buffer must be initialized beforehand and it must have
@@
-63,7
+70,7
@@
int silc_buffer_format_vp(SilcBuffer dst, va_list ap)
case SILC_BUFFER_PARAM_SI8_CHAR:
{
char x = (char)va_arg(ap, int);
case SILC_BUFFER_PARAM_SI8_CHAR:
{
char x = (char)va_arg(ap, int);
-
MY
_HAS_SPACE(dst, 1);
+
FORMAT
_HAS_SPACE(dst, 1);
silc_buffer_put(dst, &x, 1);
silc_buffer_pull(dst, 1);
break;
silc_buffer_put(dst, &x, 1);
silc_buffer_pull(dst, 1);
break;
@@
-71,7
+78,7
@@
int silc_buffer_format_vp(SilcBuffer dst, va_list ap)
case SILC_BUFFER_PARAM_UI8_CHAR:
{
unsigned char x = (unsigned char)va_arg(ap, int);
case SILC_BUFFER_PARAM_UI8_CHAR:
{
unsigned char x = (unsigned char)va_arg(ap, int);
-
MY
_HAS_SPACE(dst, 1);
+
FORMAT
_HAS_SPACE(dst, 1);
silc_buffer_put(dst, &x, 1);
silc_buffer_pull(dst, 1);
break;
silc_buffer_put(dst, &x, 1);
silc_buffer_pull(dst, 1);
break;
@@
-80,7
+87,7
@@
int silc_buffer_format_vp(SilcBuffer dst, va_list ap)
{
unsigned char xf[2];
SilcInt16 x = (SilcInt16)va_arg(ap, int);
{
unsigned char xf[2];
SilcInt16 x = (SilcInt16)va_arg(ap, int);
-
MY
_HAS_SPACE(dst, 2);
+
FORMAT
_HAS_SPACE(dst, 2);
SILC_PUT16_MSB(x, xf);
silc_buffer_put(dst, xf, 2);
silc_buffer_pull(dst, 2);
SILC_PUT16_MSB(x, xf);
silc_buffer_put(dst, xf, 2);
silc_buffer_pull(dst, 2);
@@
-90,7
+97,7
@@
int silc_buffer_format_vp(SilcBuffer dst, va_list ap)
{
unsigned char xf[2];
SilcUInt16 x = (SilcUInt16)va_arg(ap, int);
{
unsigned char xf[2];
SilcUInt16 x = (SilcUInt16)va_arg(ap, int);
-
MY
_HAS_SPACE(dst, 2);
+
FORMAT
_HAS_SPACE(dst, 2);
SILC_PUT16_MSB(x, xf);
silc_buffer_put(dst, xf, 2);
silc_buffer_pull(dst, 2);
SILC_PUT16_MSB(x, xf);
silc_buffer_put(dst, xf, 2);
silc_buffer_pull(dst, 2);
@@
-100,7
+107,7
@@
int silc_buffer_format_vp(SilcBuffer dst, va_list ap)
{
unsigned char xf[4];
SilcInt32 x = va_arg(ap, SilcInt32);
{
unsigned char xf[4];
SilcInt32 x = va_arg(ap, SilcInt32);
-
MY
_HAS_SPACE(dst, 4);
+
FORMAT
_HAS_SPACE(dst, 4);
SILC_PUT32_MSB(x, xf);
silc_buffer_put(dst, xf, 4);
silc_buffer_pull(dst, 4);
SILC_PUT32_MSB(x, xf);
silc_buffer_put(dst, xf, 4);
silc_buffer_pull(dst, 4);
@@
-110,7
+117,7
@@
int silc_buffer_format_vp(SilcBuffer dst, va_list ap)
{
unsigned char xf[4];
SilcUInt32 x = va_arg(ap, SilcUInt32);
{
unsigned char xf[4];
SilcUInt32 x = va_arg(ap, SilcUInt32);
-
MY
_HAS_SPACE(dst, 4);
+
FORMAT
_HAS_SPACE(dst, 4);
SILC_PUT32_MSB(x, xf);
silc_buffer_put(dst, xf, 4);
silc_buffer_pull(dst, 4);
SILC_PUT32_MSB(x, xf);
silc_buffer_put(dst, xf, 4);
silc_buffer_pull(dst, 4);
@@
-120,7
+127,7
@@
int silc_buffer_format_vp(SilcBuffer dst, va_list ap)
{
unsigned char xf[8];
SilcInt64 x = va_arg(ap, SilcInt64);
{
unsigned char xf[8];
SilcInt64 x = va_arg(ap, SilcInt64);
-
MY
_HAS_SPACE(dst, sizeof(SilcInt64));
+
FORMAT
_HAS_SPACE(dst, sizeof(SilcInt64));
SILC_PUT64_MSB(x, xf);
silc_buffer_put(dst, xf, sizeof(SilcInt64));
silc_buffer_pull(dst, sizeof(SilcInt64));
SILC_PUT64_MSB(x, xf);
silc_buffer_put(dst, xf, sizeof(SilcInt64));
silc_buffer_pull(dst, sizeof(SilcInt64));
@@
-130,7
+137,7
@@
int silc_buffer_format_vp(SilcBuffer dst, va_list ap)
{
unsigned char xf[8];
SilcUInt64 x = va_arg(ap, SilcUInt64);
{
unsigned char xf[8];
SilcUInt64 x = va_arg(ap, SilcUInt64);
-
MY
_HAS_SPACE(dst, sizeof(SilcUInt64));
+
FORMAT
_HAS_SPACE(dst, sizeof(SilcUInt64));
SILC_PUT64_MSB(x, xf);
silc_buffer_put(dst, xf, sizeof(SilcUInt64));
silc_buffer_pull(dst, sizeof(SilcUInt64));
SILC_PUT64_MSB(x, xf);
silc_buffer_put(dst, xf, sizeof(SilcUInt64));
silc_buffer_pull(dst, sizeof(SilcUInt64));
@@
-145,7
+152,7
@@
int silc_buffer_format_vp(SilcBuffer dst, va_list ap)
{
unsigned char *x = va_arg(ap, unsigned char *);
SilcUInt32 tmp_len = strlen(x);
{
unsigned char *x = va_arg(ap, unsigned char *);
SilcUInt32 tmp_len = strlen(x);
-
MY
_HAS_SPACE(dst, tmp_len);
+
FORMAT
_HAS_SPACE(dst, tmp_len);
silc_buffer_put(dst, x, tmp_len);
silc_buffer_pull(dst, tmp_len);
break;
silc_buffer_put(dst, x, tmp_len);
silc_buffer_pull(dst, tmp_len);
break;
@@
-162,7
+169,7
@@
int silc_buffer_format_vp(SilcBuffer dst, va_list ap)
unsigned char *x = va_arg(ap, unsigned char *);
SilcUInt32 len = va_arg(ap, SilcUInt32);
if (x && len) {
unsigned char *x = va_arg(ap, unsigned char *);
SilcUInt32 len = va_arg(ap, SilcUInt32);
if (x && len) {
-
MY
_HAS_SPACE(dst, len);
+
FORMAT
_HAS_SPACE(dst, len);
silc_buffer_put(dst, x, len);
silc_buffer_pull(dst, len);
}
silc_buffer_put(dst, x, len);
silc_buffer_pull(dst, len);
}
@@
-223,7
+230,7
@@
int silc_buffer_unformat_vp(SilcBuffer src, va_list ap)
case SILC_BUFFER_PARAM_SI8_CHAR:
{
char *x = va_arg(ap, char *);
case SILC_BUFFER_PARAM_SI8_CHAR:
{
char *x = va_arg(ap, char *);
-
MY
_HAS_SPACE(src, 1);
+
UNFORMAT
_HAS_SPACE(src, 1);
if (x)
*x = src->data[0];
silc_buffer_pull(src, 1);
if (x)
*x = src->data[0];
silc_buffer_pull(src, 1);
@@
-232,7
+239,7
@@
int silc_buffer_unformat_vp(SilcBuffer src, va_list ap)
case SILC_BUFFER_PARAM_UI8_CHAR:
{
unsigned char *x = va_arg(ap, unsigned char *);
case SILC_BUFFER_PARAM_UI8_CHAR:
{
unsigned char *x = va_arg(ap, unsigned char *);
-
MY
_HAS_SPACE(src, 1);
+
UNFORMAT
_HAS_SPACE(src, 1);
if (x)
*x = src->data[0];
silc_buffer_pull(src, 1);
if (x)
*x = src->data[0];
silc_buffer_pull(src, 1);
@@
-241,7
+248,7
@@
int silc_buffer_unformat_vp(SilcBuffer src, va_list ap)
case SILC_BUFFER_PARAM_SI16_SHORT:
{
SilcInt16 *x = va_arg(ap, SilcInt16 *);
case SILC_BUFFER_PARAM_SI16_SHORT:
{
SilcInt16 *x = va_arg(ap, SilcInt16 *);
-
MY
_HAS_SPACE(src, 2);
+
UNFORMAT
_HAS_SPACE(src, 2);
if (x)
SILC_GET16_MSB(*x, src->data);
silc_buffer_pull(src, 2);
if (x)
SILC_GET16_MSB(*x, src->data);
silc_buffer_pull(src, 2);
@@
-250,7
+257,7
@@
int silc_buffer_unformat_vp(SilcBuffer src, va_list ap)
case SILC_BUFFER_PARAM_UI16_SHORT:
{
SilcUInt16 *x = va_arg(ap, SilcUInt16 *);
case SILC_BUFFER_PARAM_UI16_SHORT:
{
SilcUInt16 *x = va_arg(ap, SilcUInt16 *);
-
MY
_HAS_SPACE(src, 2);
+
UNFORMAT
_HAS_SPACE(src, 2);
if (x)
SILC_GET16_MSB(*x, src->data);
silc_buffer_pull(src, 2);
if (x)
SILC_GET16_MSB(*x, src->data);
silc_buffer_pull(src, 2);
@@
-259,7
+266,7
@@
int silc_buffer_unformat_vp(SilcBuffer src, va_list ap)
case SILC_BUFFER_PARAM_SI32_INT:
{
SilcInt32 *x = va_arg(ap, SilcInt32 *);
case SILC_BUFFER_PARAM_SI32_INT:
{
SilcInt32 *x = va_arg(ap, SilcInt32 *);
-
MY
_HAS_SPACE(src, 4);
+
UNFORMAT
_HAS_SPACE(src, 4);
if (x)
SILC_GET32_MSB(*x, src->data);
silc_buffer_pull(src, 4);
if (x)
SILC_GET32_MSB(*x, src->data);
silc_buffer_pull(src, 4);
@@
-268,7
+275,7
@@
int silc_buffer_unformat_vp(SilcBuffer src, va_list ap)
case SILC_BUFFER_PARAM_UI32_INT:
{
SilcUInt32 *x = va_arg(ap, SilcUInt32 *);
case SILC_BUFFER_PARAM_UI32_INT:
{
SilcUInt32 *x = va_arg(ap, SilcUInt32 *);
-
MY
_HAS_SPACE(src, 4);
+
UNFORMAT
_HAS_SPACE(src, 4);
if (x)
SILC_GET32_MSB(*x, src->data);
silc_buffer_pull(src, 4);
if (x)
SILC_GET32_MSB(*x, src->data);
silc_buffer_pull(src, 4);
@@
-277,7
+284,7
@@
int silc_buffer_unformat_vp(SilcBuffer src, va_list ap)
case SILC_BUFFER_PARAM_SI64_INT:
{
SilcInt64 *x = va_arg(ap, SilcInt64 *);
case SILC_BUFFER_PARAM_SI64_INT:
{
SilcInt64 *x = va_arg(ap, SilcInt64 *);
-
MY
_HAS_SPACE(src, sizeof(SilcInt64));
+
UNFORMAT
_HAS_SPACE(src, sizeof(SilcInt64));
if (x)
SILC_GET64_MSB(*x, src->data);
silc_buffer_pull(src, sizeof(SilcInt64));
if (x)
SILC_GET64_MSB(*x, src->data);
silc_buffer_pull(src, sizeof(SilcInt64));
@@
-286,7
+293,7
@@
int silc_buffer_unformat_vp(SilcBuffer src, va_list ap)
case SILC_BUFFER_PARAM_UI64_INT:
{
SilcUInt64 *x = va_arg(ap, SilcUInt64 *);
case SILC_BUFFER_PARAM_UI64_INT:
{
SilcUInt64 *x = va_arg(ap, SilcUInt64 *);
-
MY
_HAS_SPACE(src, sizeof(SilcUInt64));
+
UNFORMAT
_HAS_SPACE(src, sizeof(SilcUInt64));
if (x)
SILC_GET64_MSB(*x, src->data);
silc_buffer_pull(src, sizeof(SilcUInt64));
if (x)
SILC_GET64_MSB(*x, src->data);
silc_buffer_pull(src, sizeof(SilcUInt64));
@@
-296,10
+303,10
@@
int silc_buffer_unformat_vp(SilcBuffer src, va_list ap)
{
SilcUInt8 len2;
unsigned char **x = va_arg(ap, unsigned char **);
{
SilcUInt8 len2;
unsigned char **x = va_arg(ap, unsigned char **);
-
MY
_HAS_SPACE(src, 1);
+
UNFORMAT
_HAS_SPACE(src, 1);
len2 = (SilcUInt8)src->data[0];
silc_buffer_pull(src, 1);
len2 = (SilcUInt8)src->data[0];
silc_buffer_pull(src, 1);
-
MY
_HAS_SPACE(src, len2);
+
UNFORMAT
_HAS_SPACE(src, len2);
if (x)
*x = src->data;
silc_buffer_pull(src, len2);
if (x)
*x = src->data;
silc_buffer_pull(src, len2);
@@
-309,10
+316,10
@@
int silc_buffer_unformat_vp(SilcBuffer src, va_list ap)
{
SilcUInt16 len2;
unsigned char **x = va_arg(ap, unsigned char **);
{
SilcUInt16 len2;
unsigned char **x = va_arg(ap, unsigned char **);
-
MY
_HAS_SPACE(src, 2);
+
UNFORMAT
_HAS_SPACE(src, 2);
SILC_GET16_MSB(len2, src->data);
silc_buffer_pull(src, 2);
SILC_GET16_MSB(len2, src->data);
silc_buffer_pull(src, 2);
-
MY
_HAS_SPACE(src, len2);
+
UNFORMAT
_HAS_SPACE(src, len2);
if (x)
*x = src->data;
silc_buffer_pull(src, len2);
if (x)
*x = src->data;
silc_buffer_pull(src, len2);
@@
-322,10
+329,10
@@
int silc_buffer_unformat_vp(SilcBuffer src, va_list ap)
{
SilcUInt8 len2;
unsigned char **x = va_arg(ap, unsigned char **);
{
SilcUInt8 len2;
unsigned char **x = va_arg(ap, unsigned char **);
-
MY
_HAS_SPACE(src, 1);
+
UNFORMAT
_HAS_SPACE(src, 1);
len2 = (SilcUInt8)src->data[0];
silc_buffer_pull(src, 1);
len2 = (SilcUInt8)src->data[0];
silc_buffer_pull(src, 1);
-
MY
_HAS_SPACE(src, len2);
+
UNFORMAT
_HAS_SPACE(src, len2);
if (x && len2) {
*x = silc_calloc(len2 + 1, sizeof(unsigned char));
memcpy(*x, src->data, len2);
if (x && len2) {
*x = silc_calloc(len2 + 1, sizeof(unsigned char));
memcpy(*x, src->data, len2);
@@
-337,10
+344,10
@@
int silc_buffer_unformat_vp(SilcBuffer src, va_list ap)
{
SilcUInt16 len2;
unsigned char **x = va_arg(ap, unsigned char **);
{
SilcUInt16 len2;
unsigned char **x = va_arg(ap, unsigned char **);
-
MY
_HAS_SPACE(src, 2);
+
UNFORMAT
_HAS_SPACE(src, 2);
SILC_GET16_MSB(len2, src->data);
silc_buffer_pull(src, 2);
SILC_GET16_MSB(len2, src->data);
silc_buffer_pull(src, 2);
-
MY
_HAS_SPACE(src, len2);
+
UNFORMAT
_HAS_SPACE(src, len2);
if (x && len2) {
*x = silc_calloc(len2 + 1, sizeof(unsigned char));
memcpy(*x, src->data, len2);
if (x && len2) {
*x = silc_calloc(len2 + 1, sizeof(unsigned char));
memcpy(*x, src->data, len2);
@@
-352,10
+359,10
@@
int silc_buffer_unformat_vp(SilcBuffer src, va_list ap)
{
SilcUInt32 len2;
unsigned char **x = va_arg(ap, unsigned char **);
{
SilcUInt32 len2;
unsigned char **x = va_arg(ap, unsigned char **);
-
MY
_HAS_SPACE(src, 4);
+
UNFORMAT
_HAS_SPACE(src, 4);
SILC_GET32_MSB(len2, src->data);
silc_buffer_pull(src, 4);
SILC_GET32_MSB(len2, src->data);
silc_buffer_pull(src, 4);
-
MY
_HAS_SPACE(src, len2);
+
UNFORMAT
_HAS_SPACE(src, len2);
if (x)
*x = src->data;
silc_buffer_pull(src, len2);
if (x)
*x = src->data;
silc_buffer_pull(src, len2);
@@
-365,10
+372,10
@@
int silc_buffer_unformat_vp(SilcBuffer src, va_list ap)
{
SilcUInt32 len2;
unsigned char **x = va_arg(ap, unsigned char **);
{
SilcUInt32 len2;
unsigned char **x = va_arg(ap, unsigned char **);
-
MY
_HAS_SPACE(src, 4);
+
UNFORMAT
_HAS_SPACE(src, 4);
SILC_GET32_MSB(len2, src->data);
silc_buffer_pull(src, 4);
SILC_GET32_MSB(len2, src->data);
silc_buffer_pull(src, 4);
-
MY
_HAS_SPACE(src, len2);
+
UNFORMAT
_HAS_SPACE(src, len2);
if (x && len2) {
*x = silc_calloc(len2 + 1, sizeof(unsigned char));
memcpy(*x, src->data, len2);
if (x && len2) {
*x = silc_calloc(len2 + 1, sizeof(unsigned char));
memcpy(*x, src->data, len2);
@@
-381,10
+388,10
@@
int silc_buffer_unformat_vp(SilcBuffer src, va_list ap)
SilcUInt8 len2;
unsigned char **x = va_arg(ap, unsigned char **);
SilcUInt8 *len = va_arg(ap, SilcUInt8 *);
SilcUInt8 len2;
unsigned char **x = va_arg(ap, unsigned char **);
SilcUInt8 *len = va_arg(ap, SilcUInt8 *);
-
MY
_HAS_SPACE(src, 1);
+
UNFORMAT
_HAS_SPACE(src, 1);
len2 = (SilcUInt8)src->data[0];
silc_buffer_pull(src, 1);
len2 = (SilcUInt8)src->data[0];
silc_buffer_pull(src, 1);
-
MY
_HAS_SPACE(src, len2);
+
UNFORMAT
_HAS_SPACE(src, len2);
if (len)
*len = len2;
if (x)
if (len)
*len = len2;
if (x)
@@
-397,10
+404,10
@@
int silc_buffer_unformat_vp(SilcBuffer src, va_list ap)
SilcUInt16 len2;
unsigned char **x = va_arg(ap, unsigned char **);
SilcUInt16 *len = va_arg(ap, SilcUInt16 *);
SilcUInt16 len2;
unsigned char **x = va_arg(ap, unsigned char **);
SilcUInt16 *len = va_arg(ap, SilcUInt16 *);
-
MY
_HAS_SPACE(src, 2);
+
UNFORMAT
_HAS_SPACE(src, 2);
SILC_GET16_MSB(len2, src->data);
silc_buffer_pull(src, 2);
SILC_GET16_MSB(len2, src->data);
silc_buffer_pull(src, 2);
-
MY
_HAS_SPACE(src, len2);
+
UNFORMAT
_HAS_SPACE(src, len2);
if (len)
*len = len2;
if (x)
if (len)
*len = len2;
if (x)
@@
-413,10
+420,10
@@
int silc_buffer_unformat_vp(SilcBuffer src, va_list ap)
SilcUInt8 len2;
unsigned char **x = va_arg(ap, unsigned char **);
SilcUInt8 *len = va_arg(ap, SilcUInt8 *);
SilcUInt8 len2;
unsigned char **x = va_arg(ap, unsigned char **);
SilcUInt8 *len = va_arg(ap, SilcUInt8 *);
-
MY
_HAS_SPACE(src, 1);
+
UNFORMAT
_HAS_SPACE(src, 1);
len2 = (SilcUInt8)src->data[0];
silc_buffer_pull(src, 1);
len2 = (SilcUInt8)src->data[0];
silc_buffer_pull(src, 1);
-
MY
_HAS_SPACE(src, len2);
+
UNFORMAT
_HAS_SPACE(src, len2);
if (len)
*len = len2;
if (x && len2) {
if (len)
*len = len2;
if (x && len2) {
@@
-431,10
+438,10
@@
int silc_buffer_unformat_vp(SilcBuffer src, va_list ap)
SilcUInt16 len2;
unsigned char **x = va_arg(ap, unsigned char **);
SilcUInt16 *len = va_arg(ap, SilcUInt16 *);
SilcUInt16 len2;
unsigned char **x = va_arg(ap, unsigned char **);
SilcUInt16 *len = va_arg(ap, SilcUInt16 *);
-
MY
_HAS_SPACE(src, 2);
+
UNFORMAT
_HAS_SPACE(src, 2);
SILC_GET16_MSB(len2, src->data);
silc_buffer_pull(src, 2);
SILC_GET16_MSB(len2, src->data);
silc_buffer_pull(src, 2);
-
MY
_HAS_SPACE(src, len2);
+
UNFORMAT
_HAS_SPACE(src, len2);
if (len)
*len = len2;
if (x && len2) {
if (len)
*len = len2;
if (x && len2) {
@@
-449,10
+456,10
@@
int silc_buffer_unformat_vp(SilcBuffer src, va_list ap)
SilcUInt32 len2;
unsigned char **x = va_arg(ap, unsigned char **);
SilcUInt32 *len = va_arg(ap, SilcUInt32 *);
SilcUInt32 len2;
unsigned char **x = va_arg(ap, unsigned char **);
SilcUInt32 *len = va_arg(ap, SilcUInt32 *);
-
MY
_HAS_SPACE(src, 4);
+
UNFORMAT
_HAS_SPACE(src, 4);
SILC_GET32_MSB(len2, src->data);
silc_buffer_pull(src, 4);
SILC_GET32_MSB(len2, src->data);
silc_buffer_pull(src, 4);
-
MY
_HAS_SPACE(src, len2);
+
UNFORMAT
_HAS_SPACE(src, len2);
if (len)
*len = len2;
if (x)
if (len)
*len = len2;
if (x)
@@
-464,7
+471,7
@@
int silc_buffer_unformat_vp(SilcBuffer src, va_list ap)
{
unsigned char **x = va_arg(ap, unsigned char **);
SilcUInt32 len = va_arg(ap, SilcUInt32);
{
unsigned char **x = va_arg(ap, unsigned char **);
SilcUInt32 len = va_arg(ap, SilcUInt32);
-
MY
_HAS_SPACE(src, len);
+
UNFORMAT
_HAS_SPACE(src, len);
if (len && x)
*x = src->data;
silc_buffer_pull(src, len);
if (len && x)
*x = src->data;
silc_buffer_pull(src, len);
@@
-474,7
+481,7
@@
int silc_buffer_unformat_vp(SilcBuffer src, va_list ap)
{
unsigned char **x = va_arg(ap, unsigned char **);
SilcUInt32 len = va_arg(ap, SilcUInt32);
{
unsigned char **x = va_arg(ap, unsigned char **);
SilcUInt32 len = va_arg(ap, SilcUInt32);
-
MY
_HAS_SPACE(src, len);
+
UNFORMAT
_HAS_SPACE(src, len);
if (len && x) {
*x = silc_calloc(len + 1, sizeof(unsigned char));
memcpy(*x, src->data, len);
if (len && x) {
*x = silc_calloc(len + 1, sizeof(unsigned char));
memcpy(*x, src->data, len);