diff options
Diffstat (limited to 'tools/lib/traceevent/parse-utils.c')
| -rw-r--r-- | tools/lib/traceevent/parse-utils.c | 110 | 
1 files changed, 110 insertions, 0 deletions
| diff --git a/tools/lib/traceevent/parse-utils.c b/tools/lib/traceevent/parse-utils.c new file mode 100644 index 00000000000..f023a133abb --- /dev/null +++ b/tools/lib/traceevent/parse-utils.c @@ -0,0 +1,110 @@ +#include <stdio.h> +#include <stdlib.h> +#include <string.h> +#include <stdarg.h> +#include <errno.h> + +#define __weak __attribute__((weak)) + +void __vdie(const char *fmt, va_list ap) +{ +	int ret = errno; + +	if (errno) +		perror("trace-cmd"); +	else +		ret = -1; + +	fprintf(stderr, "  "); +	vfprintf(stderr, fmt, ap); + +	fprintf(stderr, "\n"); +	exit(ret); +} + +void __die(const char *fmt, ...) +{ +	va_list ap; + +	va_start(ap, fmt); +	__vdie(fmt, ap); +	va_end(ap); +} + +void __weak die(const char *fmt, ...) +{ +	va_list ap; + +	va_start(ap, fmt); +	__vdie(fmt, ap); +	va_end(ap); +} + +void __vwarning(const char *fmt, va_list ap) +{ +	if (errno) +		perror("trace-cmd"); +	errno = 0; + +	fprintf(stderr, "  "); +	vfprintf(stderr, fmt, ap); + +	fprintf(stderr, "\n"); +} + +void __warning(const char *fmt, ...) +{ +	va_list ap; + +	va_start(ap, fmt); +	__vwarning(fmt, ap); +	va_end(ap); +} + +void __weak warning(const char *fmt, ...) +{ +	va_list ap; + +	va_start(ap, fmt); +	__vwarning(fmt, ap); +	va_end(ap); +} + +void __vpr_stat(const char *fmt, va_list ap) +{ +	vprintf(fmt, ap); +	printf("\n"); +} + +void __pr_stat(const char *fmt, ...) +{ +	va_list ap; + +	va_start(ap, fmt); +	__vpr_stat(fmt, ap); +	va_end(ap); +} + +void __weak vpr_stat(const char *fmt, va_list ap) +{ +	__vpr_stat(fmt, ap); +} + +void __weak pr_stat(const char *fmt, ...) +{ +	va_list ap; + +	va_start(ap, fmt); +	__vpr_stat(fmt, ap); +	va_end(ap); +} + +void __weak *malloc_or_die(unsigned int size) +{ +	void *data; + +	data = malloc(size); +	if (!data) +		die("malloc"); +	return data; +} | 
