diff options
-rw-r--r-- | source3/include/includes.h | 8 | ||||
-rw-r--r-- | source3/lib/snprintf.c | 6 |
2 files changed, 10 insertions, 4 deletions
diff --git a/source3/include/includes.h b/source3/include/includes.h index edaeda3abe..77c2b437bd 100644 --- a/source3/include/includes.h +++ b/source3/include/includes.h @@ -1232,6 +1232,14 @@ int snprintf(char *,size_t ,const char *, ...) PRINTF_ATTRIBUTE(3,4); int asprintf(char **,const char *, ...) PRINTF_ATTRIBUTE(2,3); #endif +/* Fix prototype problem with non-C99 compliant snprintf implementations, esp + HPUX 11. Don't change the sense of this #if statement. Read the comments + in lib/snprint.c if you think you need to. See also bugzilla bug 174. */ + +#if !defined(HAVE_SNPRINTF) || !defined(HAVE_C99_VSNPRINTF) +#define snprintf smb_snprintf +#endif + void sys_adminlog(int priority, const char *format_str, ...) PRINTF_ATTRIBUTE(2,3); int pstr_sprintf(pstring s, const char *fmt, ...) PRINTF_ATTRIBUTE(2,3); diff --git a/source3/lib/snprintf.c b/source3/lib/snprintf.c index 9b9ceb60ca..1978067c37 100644 --- a/source3/lib/snprintf.c +++ b/source3/lib/snprintf.c @@ -823,12 +823,10 @@ static void dopr_outch(char *buffer, size_t *currlen, size_t maxlen, char c) * * The logic for these two is that we need our own definition if the * OS *either* has no definition of *sprintf, or if it does have one - * that doesn't work properly according to the autoconf test. Perhaps - * these should really be smb_snprintf to avoid conflicts with buggy - * linkers? -- mbp + * that doesn't work properly according to the autoconf test. */ #if !defined(HAVE_SNPRINTF) || !defined(HAVE_C99_VSNPRINTF) - int snprintf(char *str,size_t count,const char *fmt,...) + int smb_snprintf(char *str,size_t count,const char *fmt,...) { size_t ret; va_list ap; |