xref: /aosp_15_r20/external/google-breakpad/src/third_party/curl/mprintf.h (revision 9712c20fc9bbfbac4935993a2ca0b3958c5adad2)
1*9712c20fSFrederick Mayle #ifndef __CURL_MPRINTF_H
2*9712c20fSFrederick Mayle #define __CURL_MPRINTF_H
3*9712c20fSFrederick Mayle /***************************************************************************
4*9712c20fSFrederick Mayle  *                                  _   _ ____  _
5*9712c20fSFrederick Mayle  *  Project                     ___| | | |  _ \| |
6*9712c20fSFrederick Mayle  *                             / __| | | | |_) | |
7*9712c20fSFrederick Mayle  *                            | (__| |_| |  _ <| |___
8*9712c20fSFrederick Mayle  *                             \___|\___/|_| \_\_____|
9*9712c20fSFrederick Mayle  *
10*9712c20fSFrederick Mayle  * Copyright (C) 1998 - 2006, Daniel Stenberg, <[email protected]>, et al.
11*9712c20fSFrederick Mayle  *
12*9712c20fSFrederick Mayle  * This software is licensed as described in the file COPYING, which
13*9712c20fSFrederick Mayle  * you should have received as part of this distribution. The terms
14*9712c20fSFrederick Mayle  * are also available at http://curl.haxx.se/docs/copyright.html.
15*9712c20fSFrederick Mayle  *
16*9712c20fSFrederick Mayle  * You may opt to use, copy, modify, merge, publish, distribute and/or sell
17*9712c20fSFrederick Mayle  * copies of the Software, and permit persons to whom the Software is
18*9712c20fSFrederick Mayle  * furnished to do so, under the terms of the COPYING file.
19*9712c20fSFrederick Mayle  *
20*9712c20fSFrederick Mayle  * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY
21*9712c20fSFrederick Mayle  * KIND, either express or implied.
22*9712c20fSFrederick Mayle  *
23*9712c20fSFrederick Mayle  * $Id: mprintf.h,v 1.16 2008-05-20 10:21:50 patrickm Exp $
24*9712c20fSFrederick Mayle  ***************************************************************************/
25*9712c20fSFrederick Mayle 
26*9712c20fSFrederick Mayle #include <stdarg.h>
27*9712c20fSFrederick Mayle #include <stdio.h> /* needed for FILE */
28*9712c20fSFrederick Mayle 
29*9712c20fSFrederick Mayle #include "curl.h"
30*9712c20fSFrederick Mayle 
31*9712c20fSFrederick Mayle #ifdef  __cplusplus
32*9712c20fSFrederick Mayle extern "C" {
33*9712c20fSFrederick Mayle #endif
34*9712c20fSFrederick Mayle 
35*9712c20fSFrederick Mayle CURL_EXTERN int curl_mprintf(const char *format, ...);
36*9712c20fSFrederick Mayle CURL_EXTERN int curl_mfprintf(FILE *fd, const char *format, ...);
37*9712c20fSFrederick Mayle CURL_EXTERN int curl_msprintf(char *buffer, const char *format, ...);
38*9712c20fSFrederick Mayle CURL_EXTERN int curl_msnprintf(char *buffer, size_t maxlength,
39*9712c20fSFrederick Mayle                                const char *format, ...);
40*9712c20fSFrederick Mayle CURL_EXTERN int curl_mvprintf(const char *format, va_list args);
41*9712c20fSFrederick Mayle CURL_EXTERN int curl_mvfprintf(FILE *fd, const char *format, va_list args);
42*9712c20fSFrederick Mayle CURL_EXTERN int curl_mvsprintf(char *buffer, const char *format, va_list args);
43*9712c20fSFrederick Mayle CURL_EXTERN int curl_mvsnprintf(char *buffer, size_t maxlength,
44*9712c20fSFrederick Mayle                                 const char *format, va_list args);
45*9712c20fSFrederick Mayle CURL_EXTERN char *curl_maprintf(const char *format, ...);
46*9712c20fSFrederick Mayle CURL_EXTERN char *curl_mvaprintf(const char *format, va_list args);
47*9712c20fSFrederick Mayle 
48*9712c20fSFrederick Mayle #ifdef _MPRINTF_REPLACE
49*9712c20fSFrederick Mayle # undef printf
50*9712c20fSFrederick Mayle # undef fprintf
51*9712c20fSFrederick Mayle # undef sprintf
52*9712c20fSFrederick Mayle # undef vsprintf
53*9712c20fSFrederick Mayle # undef snprintf
54*9712c20fSFrederick Mayle # undef vprintf
55*9712c20fSFrederick Mayle # undef vfprintf
56*9712c20fSFrederick Mayle # undef vsnprintf
57*9712c20fSFrederick Mayle # undef aprintf
58*9712c20fSFrederick Mayle # undef vaprintf
59*9712c20fSFrederick Mayle # define printf curl_mprintf
60*9712c20fSFrederick Mayle # define fprintf curl_mfprintf
61*9712c20fSFrederick Mayle #ifdef CURLDEBUG
62*9712c20fSFrederick Mayle /* When built with CURLDEBUG we define away the sprintf() functions since we
63*9712c20fSFrederick Mayle    don't want internal code to be using them */
64*9712c20fSFrederick Mayle # define sprintf sprintf_was_used
65*9712c20fSFrederick Mayle # define vsprintf vsprintf_was_used
66*9712c20fSFrederick Mayle #else
67*9712c20fSFrederick Mayle # define sprintf curl_msprintf
68*9712c20fSFrederick Mayle # define vsprintf curl_mvsprintf
69*9712c20fSFrederick Mayle #endif
70*9712c20fSFrederick Mayle # define snprintf curl_msnprintf
71*9712c20fSFrederick Mayle # define vprintf curl_mvprintf
72*9712c20fSFrederick Mayle # define vfprintf curl_mvfprintf
73*9712c20fSFrederick Mayle # define vsnprintf curl_mvsnprintf
74*9712c20fSFrederick Mayle # define aprintf curl_maprintf
75*9712c20fSFrederick Mayle # define vaprintf curl_mvaprintf
76*9712c20fSFrederick Mayle #endif
77*9712c20fSFrederick Mayle 
78*9712c20fSFrederick Mayle #ifdef  __cplusplus
79*9712c20fSFrederick Mayle }
80*9712c20fSFrederick Mayle #endif
81*9712c20fSFrederick Mayle 
82*9712c20fSFrederick Mayle #endif /* __CURL_MPRINTF_H */
83