1 VERSION 被简单替换为 “VERSION"
2 去除mman.h及用到的.h,.C文件
3 va_copy 无法解析符号
#ifndef va_copy
# ifdef __va_copy
# define va_copy(DEST,SRC) __va_copy((DEST),(SRC))
# else
# define va_copy(DEST, SRC) memcpy((&DEST), (&SRC), sizeof(va_list))
# endif
#endif
4 去除expat.h及用到此的文件
5 #ifdef LOG4C_EXPORTS改为了#ifndef LOG4C_EXPORTS
#ifndef LOG4C_EXPORTS
# define LOG4C_API __declspec(dllexport)
#else
# define LOG4C_API extern __declspec(dllimport)
#endif
6
extern int vsnprintf(char* s, size_t maxlen, const char* fmt, va_list args)
{
int len;
FILE f;
if (maxlen == 0)
return 0;
memset(&f, 0, sizeof(f));
f._flag = _IOWRT + _IOSTRG;
f._bufsiz = f._cnt = maxlen - 1;
f._base = f._ptr = (unsigned char*) s;
// f._bufendp = f._base + f._bufsiz; //del 2013.4.27 Novelian
len = vfprintf(&f, fmt, args);
*f._ptr = '\0';
return len;
}