+ case SILC_BUFFER_PARAM_UI8_NSTRING_ALLOC:
+ {
+ uint8 len2;
+ unsigned char **x = va_arg(ap, unsigned char **);
+ uint8 *len = va_arg(ap, uint8 *);
+ HAS_SPACE(src, 1);
+ len2 = (uint8)src->data[0];
+ silc_buffer_pull(src, 1);
+ HAS_SPACE(src, len2);
+ if (len)
+ *len = len2;
+ if (x && len2) {
+ *x = silc_calloc(len2 + 1, sizeof(unsigned char));
+ memcpy(*x, src->data, len2);
+ }
+ silc_buffer_pull(src, len2);
+ break;
+ }