Linux Audio

Check our new training course

Loading...
  1#include <stdio.h>
  2#include <stdlib.h>
  3#include <string.h>
  4#include <stdarg.h>
  5#include <errno.h>
  6
  7#define __weak __attribute__((weak))
  8
  9void __vdie(const char *fmt, va_list ap)
 10{
 11	int ret = errno;
 12
 13	if (errno)
 14		perror("trace-cmd");
 15	else
 16		ret = -1;
 17
 18	fprintf(stderr, "  ");
 19	vfprintf(stderr, fmt, ap);
 20
 21	fprintf(stderr, "\n");
 22	exit(ret);
 23}
 24
 25void __die(const char *fmt, ...)
 26{
 27	va_list ap;
 28
 29	va_start(ap, fmt);
 30	__vdie(fmt, ap);
 31	va_end(ap);
 32}
 33
 34void __weak die(const char *fmt, ...)
 35{
 36	va_list ap;
 37
 38	va_start(ap, fmt);
 39	__vdie(fmt, ap);
 40	va_end(ap);
 41}
 42
 43void __vwarning(const char *fmt, va_list ap)
 44{
 45	if (errno)
 46		perror("trace-cmd");
 47	errno = 0;
 48
 49	fprintf(stderr, "  ");
 50	vfprintf(stderr, fmt, ap);
 51
 52	fprintf(stderr, "\n");
 53}
 54
 55void __warning(const char *fmt, ...)
 56{
 57	va_list ap;
 58
 59	va_start(ap, fmt);
 60	__vwarning(fmt, ap);
 61	va_end(ap);
 62}
 63
 64void __weak warning(const char *fmt, ...)
 65{
 66	va_list ap;
 67
 68	va_start(ap, fmt);
 69	__vwarning(fmt, ap);
 70	va_end(ap);
 71}
 72
 73void __vpr_stat(const char *fmt, va_list ap)
 74{
 75	vprintf(fmt, ap);
 76	printf("\n");
 77}
 78
 79void __pr_stat(const char *fmt, ...)
 80{
 81	va_list ap;
 82
 83	va_start(ap, fmt);
 84	__vpr_stat(fmt, ap);
 85	va_end(ap);
 86}
 87
 88void __weak vpr_stat(const char *fmt, va_list ap)
 89{
 90	__vpr_stat(fmt, ap);
 91}
 92
 93void __weak pr_stat(const char *fmt, ...)
 94{
 95	va_list ap;
 96
 97	va_start(ap, fmt);
 98	__vpr_stat(fmt, ap);
 99	va_end(ap);
100}
101
102void __weak *malloc_or_die(unsigned int size)
103{
104	void *data;
105
106	data = malloc(size);
107	if (!data)
108		die("malloc");
109	return data;
110}
1