1*324bb76bSAndroid Build Coastguard Worker /*****************************************************************************
2*324bb76bSAndroid Build Coastguard Worker
3*324bb76bSAndroid Build Coastguard Worker qprintf.c - module to emulate a printf with a possible quiet (disable mode.)
4*324bb76bSAndroid Build Coastguard Worker
5*324bb76bSAndroid Build Coastguard Worker A global variable GifNoisyPrint controls the printing of this routine
6*324bb76bSAndroid Build Coastguard Worker
7*324bb76bSAndroid Build Coastguard Worker SPDX-License-Identifier: MIT
8*324bb76bSAndroid Build Coastguard Worker
9*324bb76bSAndroid Build Coastguard Worker *****************************************************************************/
10*324bb76bSAndroid Build Coastguard Worker
11*324bb76bSAndroid Build Coastguard Worker #include <stdarg.h>
12*324bb76bSAndroid Build Coastguard Worker #include <stdbool.h>
13*324bb76bSAndroid Build Coastguard Worker #include <stdio.h>
14*324bb76bSAndroid Build Coastguard Worker
15*324bb76bSAndroid Build Coastguard Worker #include "gif_lib.h"
16*324bb76bSAndroid Build Coastguard Worker
17*324bb76bSAndroid Build Coastguard Worker bool GifNoisyPrint = false;
18*324bb76bSAndroid Build Coastguard Worker
19*324bb76bSAndroid Build Coastguard Worker /*****************************************************************************
20*324bb76bSAndroid Build Coastguard Worker Same as fprintf to stderr but with optional print.
21*324bb76bSAndroid Build Coastguard Worker ******************************************************************************/
GifQprintf(char * Format,...)22*324bb76bSAndroid Build Coastguard Worker void GifQprintf(char *Format, ...) {
23*324bb76bSAndroid Build Coastguard Worker va_list ArgPtr;
24*324bb76bSAndroid Build Coastguard Worker
25*324bb76bSAndroid Build Coastguard Worker va_start(ArgPtr, Format);
26*324bb76bSAndroid Build Coastguard Worker
27*324bb76bSAndroid Build Coastguard Worker if (GifNoisyPrint) {
28*324bb76bSAndroid Build Coastguard Worker char Line[128];
29*324bb76bSAndroid Build Coastguard Worker (void)vsnprintf(Line, sizeof(Line), Format, ArgPtr);
30*324bb76bSAndroid Build Coastguard Worker (void)fputs(Line, stderr);
31*324bb76bSAndroid Build Coastguard Worker }
32*324bb76bSAndroid Build Coastguard Worker
33*324bb76bSAndroid Build Coastguard Worker va_end(ArgPtr);
34*324bb76bSAndroid Build Coastguard Worker }
35*324bb76bSAndroid Build Coastguard Worker
PrintGifError(int ErrorCode)36*324bb76bSAndroid Build Coastguard Worker void PrintGifError(int ErrorCode) {
37*324bb76bSAndroid Build Coastguard Worker const char *Err = GifErrorString(ErrorCode);
38*324bb76bSAndroid Build Coastguard Worker
39*324bb76bSAndroid Build Coastguard Worker if (Err != NULL) {
40*324bb76bSAndroid Build Coastguard Worker fprintf(stderr, "GIF-LIB error: %s.\n", Err);
41*324bb76bSAndroid Build Coastguard Worker } else {
42*324bb76bSAndroid Build Coastguard Worker fprintf(stderr, "GIF-LIB undefined error %d.\n", ErrorCode);
43*324bb76bSAndroid Build Coastguard Worker }
44*324bb76bSAndroid Build Coastguard Worker }
45*324bb76bSAndroid Build Coastguard Worker
46*324bb76bSAndroid Build Coastguard Worker /* end */
47