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