Some refactoring. NFC.
This commit is contained in:
+31
-12
@@ -28,31 +28,50 @@
|
||||
#ifndef __UPX_SNPRINTF_H
|
||||
#define __UPX_SNPRINTF_H 1
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
/*************************************************************************
|
||||
//
|
||||
**************************************************************************/
|
||||
|
||||
int upx_vsnprintf(char *str, size_t count, const char *format, va_list ap);
|
||||
int __acc_cdecl_va upx_snprintf (char *str, size_t count, const char *format, ...);
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
// info: snprintf() returns length and NOT size, but max_size is indeed size (incl NUL)
|
||||
int upx_vsnprintf(char *str, upx_rsize_t max_size, const char *format, va_list ap);
|
||||
int __acc_cdecl_va upx_snprintf (char *str, upx_rsize_t max_size, const char *format, ...);
|
||||
int upx_vasprintf(char **ptr, const char *format, va_list ap);
|
||||
int __acc_cdecl_va upx_asprintf (char **ptr, const char *format, ...);
|
||||
|
||||
#undef sprintf
|
||||
#define sprintf error_sprintf_is_dangerous_use_snprintf
|
||||
|
||||
upx_rsize_t upx_strlen(const char *);
|
||||
|
||||
#undef strlen
|
||||
#define strlen upx_strlen
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
||||
// globally redirect some functions
|
||||
#undef sprintf
|
||||
#define sprintf error_sprintf_is_dangerous_use_snprintf
|
||||
#undef strlen
|
||||
#define strlen upx_strlen
|
||||
|
||||
/*************************************************************************
|
||||
// some unsigned char string support functions
|
||||
**************************************************************************/
|
||||
|
||||
inline unsigned char *strcpy(unsigned char *s1, const unsigned char *s2) {
|
||||
return (unsigned char *) strcpy((char *) s1, (const char *) s2);
|
||||
}
|
||||
|
||||
inline int strcmp(const unsigned char *s1, const unsigned char *s2) {
|
||||
return strcmp((const char *) s1, (const char *) s2);
|
||||
}
|
||||
|
||||
inline int strcasecmp(const unsigned char *s1, const unsigned char *s2) {
|
||||
return strcasecmp((const char *) s1, (const char *) s2);
|
||||
}
|
||||
|
||||
inline size_t strlen(const unsigned char *s) { return strlen((const char *) s); }
|
||||
|
||||
#endif /* already included */
|
||||
|
||||
/* vim:set ts=4 sw=4 et: */
|
||||
|
||||
Reference in New Issue
Block a user