perf tools: Remove subcmd dependencies on strbuf
[linux-2.6-block.git] / tools / perf / util / subcmd-util.h
CommitLineData
901421a5
JP
1#ifndef __PERF_SUBCMD_UTIL_H
2#define __PERF_SUBCMD_UTIL_H
3
4#include <stdio.h>
5
6#define astrcatf(out, fmt, ...) \
7({ \
8 char *tmp = *(out); \
9 if (asprintf((out), "%s" fmt, tmp ?: "", ## __VA_ARGS__) == -1) \
10 die("asprintf failed"); \
11 free(tmp); \
12})
13
14static inline void astrcat(char **out, const char *add)
15{
16 char *tmp = *out;
17
18 if (asprintf(out, "%s%s", tmp ?: "", add) == -1)
19 die("asprintf failed");
20
21 free(tmp);
22}
23
24#endif /* __PERF_SUBCMD_UTIL_H */