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