aboutsummaryrefslogtreecommitdiffstats
path: root/gcc-4.9/gcc/testsuite/gcc.dg/shrink-wrap-pretend.c
blob: 6e20ca12e98d1b81861b7396cb1e4683efe0cc3e (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
/* { 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);
     }
}