silc_buffer_sstrformat to preserve buffer locations.
[runtime.git] / lib / silcutil / silcbuffmt.c
index 4dd54965084e33a18a8351c6e6da426d0311dc31..902d28055c3ad01e7acabfd5db5b7fb4678757be 100644 (file)
@@ -619,6 +619,7 @@ int silc_buffer_strformat(SilcBuffer dst, ...)
 int silc_buffer_sstrformat(SilcStack stack, SilcBuffer dst, ...)
 {
   int len = silc_buffer_truelen(dst);
+  int hlen = silc_buffer_headlen(dst);
   va_list va;
 
   va_start(va, dst);
@@ -651,7 +652,7 @@ int silc_buffer_sstrformat(SilcStack stack, SilcBuffer dst, ...)
 
  ok:
   dst->end = dst->head + len;
-  dst->data = dst->head;
+  dst->data = dst->head + hlen;
   dst->tail = dst->end;
 
   va_end(va);