xref: /openbmc/linux/tools/verification/rv/src/utils.c (revision 7ae9fb1b7ecbb5d85d07857943f677fd1a559b18)
1*4bc4b131SDaniel Bristot de Oliveira // SPDX-License-Identifier: GPL-2.0
2*4bc4b131SDaniel Bristot de Oliveira /*
3*4bc4b131SDaniel Bristot de Oliveira  * util functions.
4*4bc4b131SDaniel Bristot de Oliveira  *
5*4bc4b131SDaniel Bristot de Oliveira  * Copyright (C) 2022 Red Hat Inc, Daniel Bristot de Oliveira <bristot@kernel.org>
6*4bc4b131SDaniel Bristot de Oliveira  */
7*4bc4b131SDaniel Bristot de Oliveira 
8*4bc4b131SDaniel Bristot de Oliveira #include <stdarg.h>
9*4bc4b131SDaniel Bristot de Oliveira #include <stdio.h>
10*4bc4b131SDaniel Bristot de Oliveira #include <utils.h>
11*4bc4b131SDaniel Bristot de Oliveira 
12*4bc4b131SDaniel Bristot de Oliveira int config_debug;
13*4bc4b131SDaniel Bristot de Oliveira 
14*4bc4b131SDaniel Bristot de Oliveira #define MAX_MSG_LENGTH	1024
15*4bc4b131SDaniel Bristot de Oliveira 
16*4bc4b131SDaniel Bristot de Oliveira /**
17*4bc4b131SDaniel Bristot de Oliveira  * err_msg - print an error message to the stderr
18*4bc4b131SDaniel Bristot de Oliveira  */
err_msg(const char * fmt,...)19*4bc4b131SDaniel Bristot de Oliveira void err_msg(const char *fmt, ...)
20*4bc4b131SDaniel Bristot de Oliveira {
21*4bc4b131SDaniel Bristot de Oliveira 	char message[MAX_MSG_LENGTH];
22*4bc4b131SDaniel Bristot de Oliveira 	va_list ap;
23*4bc4b131SDaniel Bristot de Oliveira 
24*4bc4b131SDaniel Bristot de Oliveira 	va_start(ap, fmt);
25*4bc4b131SDaniel Bristot de Oliveira 	vsnprintf(message, sizeof(message), fmt, ap);
26*4bc4b131SDaniel Bristot de Oliveira 	va_end(ap);
27*4bc4b131SDaniel Bristot de Oliveira 
28*4bc4b131SDaniel Bristot de Oliveira 	fprintf(stderr, "%s", message);
29*4bc4b131SDaniel Bristot de Oliveira }
30*4bc4b131SDaniel Bristot de Oliveira 
31*4bc4b131SDaniel Bristot de Oliveira /**
32*4bc4b131SDaniel Bristot de Oliveira  * debug_msg - print a debug message to stderr if debug is set
33*4bc4b131SDaniel Bristot de Oliveira  */
debug_msg(const char * fmt,...)34*4bc4b131SDaniel Bristot de Oliveira void debug_msg(const char *fmt, ...)
35*4bc4b131SDaniel Bristot de Oliveira {
36*4bc4b131SDaniel Bristot de Oliveira 	char message[MAX_MSG_LENGTH];
37*4bc4b131SDaniel Bristot de Oliveira 	va_list ap;
38*4bc4b131SDaniel Bristot de Oliveira 
39*4bc4b131SDaniel Bristot de Oliveira 	if (!config_debug)
40*4bc4b131SDaniel Bristot de Oliveira 		return;
41*4bc4b131SDaniel Bristot de Oliveira 
42*4bc4b131SDaniel Bristot de Oliveira 	va_start(ap, fmt);
43*4bc4b131SDaniel Bristot de Oliveira 	vsnprintf(message, sizeof(message), fmt, ap);
44*4bc4b131SDaniel Bristot de Oliveira 	va_end(ap);
45*4bc4b131SDaniel Bristot de Oliveira 
46*4bc4b131SDaniel Bristot de Oliveira 	fprintf(stderr, "%s", message);
47*4bc4b131SDaniel Bristot de Oliveira }
48