37 lines
649 B
C
37 lines
649 B
C
/* { dg-do compile } */
|
|
/* { dg-options "-O2 -g" } */
|
|
|
|
#include <stdlib.h>
|
|
#include <stdio.h>
|
|
#include <stdarg.h>
|
|
|
|
#define DEBUG_BUFFER_SIZE 80
|
|
int unifi_debug = 5;
|
|
|
|
void
|
|
unifi_trace (void* ospriv, int level, const char *fmt, ...)
|
|
{
|
|
static char s[DEBUG_BUFFER_SIZE];
|
|
va_list args;
|
|
unsigned int len;
|
|
|
|
if (!ospriv)
|
|
return;
|
|
|
|
if (unifi_debug >= level)
|
|
{
|
|
va_start (args, fmt);
|
|
len = vsnprintf (&(s)[0], (DEBUG_BUFFER_SIZE), fmt, args);
|
|
va_end (args);
|
|
|
|
if (len >= DEBUG_BUFFER_SIZE)
|
|
{
|
|
(s)[DEBUG_BUFFER_SIZE - 2] = '\n';
|
|
(s)[DEBUG_BUFFER_SIZE - 1] = 0;
|
|
}
|
|
|
|
printf ("%s", s);
|
|
}
|
|
}
|
|
|