mirror of
https://github.com/go-vgo/robotgo.git
synced 2025-06-01 14:43:55 +00:00
46 lines
1.2 KiB
C
46 lines
1.2 KiB
C
#ifndef _PORTABLE_SNPRINTF_H_
|
|
#define _PORTABLE_SNPRINTF_H_
|
|
|
|
#define PORTABLE_SNPRINTF_VERSION_MAJOR 2
|
|
#define PORTABLE_SNPRINTF_VERSION_MINOR 2
|
|
|
|
#include "os.h"
|
|
#if defined(IS_MACOSX)
|
|
#define HAVE_SNPRINTF
|
|
#else
|
|
#define HAVE_SNPRINTF
|
|
#define PREFER_PORTABLE_SNPRINTF
|
|
#endif
|
|
|
|
#include <stddef.h>
|
|
#include <stdarg.h>
|
|
|
|
#ifdef __cplusplus
|
|
extern "C"
|
|
{
|
|
#endif
|
|
|
|
#ifdef HAVE_SNPRINTF
|
|
#include <stdio.h>
|
|
#else
|
|
extern int snprintf(char *, size_t, const char *, /*args*/ ...);
|
|
extern int vsnprintf(char *, size_t, const char *, va_list);
|
|
#endif
|
|
|
|
#if defined(HAVE_SNPRINTF) && defined(PREFER_PORTABLE_SNPRINTF)
|
|
extern int portable_snprintf(char *str, size_t str_m, const char *fmt, /*args*/ ...);
|
|
extern int portable_vsnprintf(char *str, size_t str_m, const char *fmt, va_list ap);
|
|
#define snprintf portable_snprintf
|
|
#define vsnprintf portable_vsnprintf
|
|
#endif
|
|
|
|
extern int asprintf (char **ptr, const char *fmt, /*args*/ ...);
|
|
extern int vasprintf (char **ptr, const char *fmt, va_list ap);
|
|
extern int asnprintf (char **ptr, size_t str_m, const char *fmt, /*args*/ ...);
|
|
extern int vasnprintf(char **ptr, size_t str_m, const char *fmt, va_list ap);
|
|
|
|
#endif
|
|
|
|
#ifdef __cplusplus
|
|
}
|
|
#endif |