提交 7abf9f02 authored 作者: 周尚's avatar 周尚

更新接口

上级 f3514d17
...@@ -3,28 +3,32 @@ ...@@ -3,28 +3,32 @@
#include <stdlib.h> #include <stdlib.h>
#include <string.h> #include <string.h>
#if !defined(WIN32) && !defined(__MINGW32__)
__thread AW_errno AW_errnum; #if defined(__MINGW32__) || (_WIN32)
#else
AW_errno AW_errnum; AW_errno AW_errnum;
#else
__thread AW_errno AW_errnum;
#endif #endif
struct AW_strerror const char *AW_strerror(AW_errno errnum)
{ {
const char* name; if (errnum == AW_ERR_SYS) return strerror(errno);
const char* desc;
}; switch (errnum)
{
#define AW_STRERROR_GEN(n, s) {"AW_" #n, s}, #define XX(n, s) \
static struct AW_strerror AW_strerror_tab[] = {AW_ERRNO_MAP(AW_STRERROR_GEN)}; case AW_##n: \
#undef AW_STRERROR_GEN return #s;
AW_ERRNO_MAP(XX)
const char* AW_ERR_name(AW_errno errnum) { return AW_strerror_tab[errnum].name; } #undef XX
default:
return "<unknown>";
}
}
const char* AW_ERR_desc(AW_errno errnum) const char *AW_ERR_desc(AW_errno errnum)
{ {
if (errnum == AW_ERR_SYS) return AW_strerror(errnum);
return strerror(errno);
else
return AW_strerror_tab[errnum].desc;
} }
...@@ -60,11 +60,11 @@ typedef enum ...@@ -60,11 +60,11 @@ typedef enum
} AW_errno; } AW_errno;
#undef AW_ERRNO_GEN #undef AW_ERRNO_GEN
const char* AW_ERR_name(AW_errno errnum); const char *AW_ERR_desc(AW_errno errnum) __attribute__ ((deprecated ("use AW_strerror instead")));
const char* AW_ERR_desc(AW_errno errnum); const char *AW_strerror(AW_errno errnum);
#if !defined(WIN32) && !defined(__MINGW32__) #if defined(__MINGW32__) || (_WIN32)
extern __thread AW_errno AW_errnum;
#else
extern AW_errno AW_errnum; extern AW_errno AW_errnum;
#else
extern __thread AW_errno AW_errnum;
#endif #endif
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论