123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107 |
- #ifndef SLAC_DEBUG_SOURCE
- #define SLAC_DEBUG_SOURCE
- #include <stdio.h>
- #include <stdlib.h>
- #include <stdarg.h>
- #include <string.h>
- #include "../slac/slac.h"
- #include "../tools/types.h"
- #include "../tools/error.h"
- #include "../tools/flags.h"
- #ifdef __GNUC__
- __attribute__ ((format (printf, 4, 5)))
- #endif
- signed slac_debug (struct session * session, signed status, char const * string, char const * format, ...)
- {
- extern char const * program_name;
- if (_allclr (session->flags, SLAC_SILENCE))
- {
- if ((program_name) && (* program_name))
- {
- fprintf (stderr, "%s: ", program_name);
- }
- if ((string) && (* string))
- {
- fprintf (stderr, "%s: ", string);
- }
- if ((format) && (*format))
- {
- va_list arglist;
- va_start (arglist, format);
- vfprintf (stderr, format, arglist);
- va_end (arglist);
- }
- fprintf (stderr, "\n");
- fflush (stderr);
- }
- if (status)
- {
- exit (status);
- }
- return (-1);
- }
- #endif
|