Contiki 2.5
dbg-sprintf.c
1 #include <stdio.h>
2 #include <strformat.h>
3 #include <string.h>
4 
5 static StrFormatResult
6 buffer_str(void *user_data, const char *data, unsigned int len)
7 {
8  memcpy(*(char**)user_data, data, len);
9  (*(char**)user_data) += len;
10  return STRFORMAT_OK;
11 }
12 
13 int
14 sprintf(char *str, const char *format, ...)
15 {
16  StrFormatContext ctxt;
17  int res;
18  va_list ap;
19  va_start(ap, format);
20  ctxt.write_str = buffer_str;
21  ctxt.user_data = &str;
22  res = format_str_v(&ctxt, format, ap);
23  *str = '\0';
24  va_end(ap);
25  return res;
26 }