snprintf支持格式化结构体
This commit is contained in:
@@ -14,6 +14,19 @@ extern "C"
|
||||
{
|
||||
#endif
|
||||
|
||||
#include <pthread.h>
|
||||
|
||||
#define MESA_PTHREAD_CACHE_BUF_DEFAULT_LEN 1024
|
||||
#define MESA_PTHREAD_FMT_BUF_DEFAULT_LEN 256
|
||||
extern pthread_key_t MESA_pthread_key;
|
||||
void MESA_pthread_free_handler(void *arg);
|
||||
|
||||
typedef int (*MESA_fmt_handler)(void *info, char *buf, int buflen);
|
||||
int MESA_handle_fmt_rule_register(void *handle, char sign, MESA_fmt_handler handler, int buflen);
|
||||
int MESA_handle_check_fmt_sign(void *handle, char sign, MESA_fmt_handler *handler, char **buf, int *maxlen);
|
||||
void MESA_free_pthread_private(void *arg);
|
||||
|
||||
|
||||
#define RLOG_LV_DEBUG 10
|
||||
#define RLOG_LV_INFO 20
|
||||
#define RLOG_LV_FATAL 30
|
||||
@@ -21,7 +34,7 @@ extern "C"
|
||||
|
||||
int MESA_handle_runtime_log_creation(const char *conf_path);
|
||||
int MESA_handle_runtime_log_reconstruction(const char *conf_path);
|
||||
void MESA_handle_runtime_log_destruction();
|
||||
void MESA_handle_runtime_log_destruction(void);
|
||||
|
||||
#define MESA_HANDLE_RUNTIME_LOG(handle, lv, mod, fmt, args...) \
|
||||
MESA_handle_runtime_log((handle), (lv), (mod), "file %s, line %d, " fmt, \
|
||||
|
||||
24
inc/snprintf.h
Normal file
24
inc/snprintf.h
Normal file
@@ -0,0 +1,24 @@
|
||||
#ifndef _PORTABLE_SNPRINTF_H_
|
||||
#define _PORTABLE_SNPRINTF_H_
|
||||
|
||||
#define PORTABLE_SNPRINTF_VERSION_MAJOR 2
|
||||
#define PORTABLE_SNPRINTF_VERSION_MINOR 2
|
||||
|
||||
#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(void * handle, char *str, size_t str_m, const char *fmt, /*args*/ ...);
|
||||
extern int portable_vsnprintf(void *handle, char *str, size_t str_m, const char *fmt, va_list ap);
|
||||
/*#define snprintf portable_snprintf*/ /*others use libc snprintf*/
|
||||
/*#define vsnprintf portable_vsnprintf*/
|
||||
#endif
|
||||
extern int asprintf (void * handle, char **ptr, const char *fmt, /*args*/ ...);
|
||||
extern int vasprintf (void * handle, char **ptr, const char *fmt, va_list ap);
|
||||
extern int asnprintf (void * handle, char **ptr, size_t str_m, const char *fmt, /*args*/ ...);
|
||||
extern int vasnprintf(void * handle, char **ptr, size_t str_m, const char *fmt, va_list ap);
|
||||
#endif
|
||||
Reference in New Issue
Block a user