blob: e6678ad7cebecf9529786be9e19ada7ac6261abd [file] [log] [blame]
Nguyen Anh Quynh26ee41a2013-11-27 12:11:31 +08001/* Capstone Disassembler Engine */
2/* By Nguyen Anh Quynh <aquynh@gmail.com>, 2013> */
3
4#include <stdint.h>
5#include <stdarg.h>
6#include <stdio.h>
7
8#include "SStream.h"
9
10void SStream_Init(SStream *ss)
11{
12 ss->index = 0;
13 ss->buffer[0] = '\0';
14}
15
16void SStream_concat(SStream *ss, const char *fmt, ...)
17{
18 va_list ap;
19
20 va_start(ap, fmt);
21 int ret = vsnprintf(ss->buffer + ss->index, sizeof(ss->buffer) - (ss->index + 1), fmt, ap);
22 va_end(ap);
23 ss->index += ret;
24}
25
26/*
27 int main()
28 {
29 SStream ss;
30 int64_t i;
31
32 SStream_Init(&ss);
33
34 SStream_concat(&ss, "hello ");
35 SStream_concat(&ss, "%d - 0x%x", 200, 16);
36
37 i = 123;
38 SStream_concat(&ss, " + %ld", i);
39 SStream_concat(&ss, "%s", "haaaaa");
40
41 printf("%s\n", ss.buffer);
42
43 return 0;
44 }
45 */