[app] Fixed gcc 4.8 warning "iteration 1u invokes undefined behavior"
This commit is contained in:
parent
88e439e170
commit
1fc46997eb
3 changed files with 33 additions and 33 deletions
|
@ -70,6 +70,16 @@
|
||||||
(XML_Parser parser, const char* s, int len, int isFinal), \
|
(XML_Parser parser, const char* s, int len, int isFinal), \
|
||||||
(parser, s, len, isFinal), XML_STATUS_ERROR)
|
(parser, s, len, isFinal), XML_STATUS_ERROR)
|
||||||
|
|
||||||
|
#define EXPAT_NUM_FUNCTIONS (sizeof(expat_names)/sizeof(expat_names[0]))
|
||||||
|
#define EXPAT_NO_HANDLE ((void*)-1)
|
||||||
|
#define EXPAT_SO "/usr/lib/libexpat.so.1"
|
||||||
|
|
||||||
|
static const char* expat_names[] = {
|
||||||
|
"XML_ParserCreate",
|
||||||
|
#define FN_NAME(type,name,params,args,fail) #name,
|
||||||
|
EXPAT_FUNCTIONS(FN_NAME)
|
||||||
|
};
|
||||||
|
|
||||||
static struct {
|
static struct {
|
||||||
void* handle;
|
void* handle;
|
||||||
union {
|
union {
|
||||||
|
@ -78,20 +88,10 @@ static struct {
|
||||||
#define FN_POINTER(type,name,params,args,fail) type (* name) params;
|
#define FN_POINTER(type,name,params,args,fail) type (* name) params;
|
||||||
EXPAT_FUNCTIONS(FN_POINTER)
|
EXPAT_FUNCTIONS(FN_POINTER)
|
||||||
} expat;
|
} expat;
|
||||||
void* entry[1];
|
void* entry[EXPAT_NUM_FUNCTIONS];
|
||||||
} fn;
|
} fn;
|
||||||
} expat;
|
} expat;
|
||||||
|
|
||||||
static const char* expat_names[] = {
|
|
||||||
"XML_ParserCreate",
|
|
||||||
#define FN_NAME(type,name,params,args,fail) #name,
|
|
||||||
EXPAT_FUNCTIONS(FN_NAME)
|
|
||||||
};
|
|
||||||
|
|
||||||
#define EXPAT_NUM_FUNCTIONS (sizeof(expat_names)/sizeof(expat_names[0]))
|
|
||||||
#define EXPAT_NO_HANDLE ((void*)-1)
|
|
||||||
#define EXPAT_SO "/usr/lib/libexpat.so.1"
|
|
||||||
|
|
||||||
/* XML_ParserCreate() is the special function where we load the library */
|
/* XML_ParserCreate() is the special function where we load the library */
|
||||||
XML_Parser
|
XML_Parser
|
||||||
XML_ParserCreate(
|
XML_ParserCreate(
|
||||||
|
|
|
@ -43,6 +43,16 @@
|
||||||
f(const char*, magic_file, \
|
f(const char*, magic_file, \
|
||||||
(magic_t cookie, const char* path), (cookie, path), NULL)
|
(magic_t cookie, const char* path), (cookie, path), NULL)
|
||||||
|
|
||||||
|
#define MAGIC_NUM_FUNCTIONS (sizeof(magic_names)/sizeof(magic_names[0]))
|
||||||
|
#define MAGIC_NO_HANDLE ((void*)-1)
|
||||||
|
#define MAGIC_SO "/usr/lib/libmagic.so.1"
|
||||||
|
|
||||||
|
static const char* magic_names[] = {
|
||||||
|
"magic_open",
|
||||||
|
#define FN_NAME(type,name,params,args,fail) #name,
|
||||||
|
MAGIC_FUNCTIONS(FN_NAME)
|
||||||
|
};
|
||||||
|
|
||||||
static struct {
|
static struct {
|
||||||
void* handle;
|
void* handle;
|
||||||
union {
|
union {
|
||||||
|
@ -51,20 +61,10 @@ static struct {
|
||||||
#define FN_POINTER(type,name,params,args,fail) type (* name) params;
|
#define FN_POINTER(type,name,params,args,fail) type (* name) params;
|
||||||
MAGIC_FUNCTIONS(FN_POINTER)
|
MAGIC_FUNCTIONS(FN_POINTER)
|
||||||
} magic;
|
} magic;
|
||||||
void* entry[1];
|
void* entry[MAGIC_NUM_FUNCTIONS];
|
||||||
} fn;
|
} fn;
|
||||||
} magic;
|
} magic;
|
||||||
|
|
||||||
static const char* magic_names[] = {
|
|
||||||
"magic_open",
|
|
||||||
#define FN_NAME(type,name,params,args,fail) #name,
|
|
||||||
MAGIC_FUNCTIONS(FN_NAME)
|
|
||||||
};
|
|
||||||
|
|
||||||
#define MAGIC_NUM_FUNCTIONS (sizeof(magic_names)/sizeof(magic_names[0]))
|
|
||||||
#define MAGIC_NO_HANDLE ((void*)-1)
|
|
||||||
#define MAGIC_SO "/usr/lib/libmagic.so.1"
|
|
||||||
|
|
||||||
/* magic_open() is the special function where we load the library */
|
/* magic_open() is the special function where we load the library */
|
||||||
magic_t magic_open(int flags)
|
magic_t magic_open(int flags)
|
||||||
{
|
{
|
||||||
|
|
|
@ -76,6 +76,16 @@
|
||||||
(struct udev_device* dev), \
|
(struct udev_device* dev), \
|
||||||
(dev))
|
(dev))
|
||||||
|
|
||||||
|
#define LIBUDEV_NUM_FUNCTIONS (sizeof(libudev_names)/sizeof(libudev_names[0]))
|
||||||
|
#define LIBUDEV_NO_HANDLE ((void*)-1)
|
||||||
|
#define LIBUDEV_SO "/usr/lib/libudev.so.1"
|
||||||
|
|
||||||
|
static const char* libudev_names[] = {
|
||||||
|
"udev_new",
|
||||||
|
#define FN_NAME(ret,name,params,args) #name,
|
||||||
|
LIBUDEV_FUNCTIONS(FN_NAME)
|
||||||
|
};
|
||||||
|
|
||||||
static struct {
|
static struct {
|
||||||
void* handle;
|
void* handle;
|
||||||
union {
|
union {
|
||||||
|
@ -84,20 +94,10 @@ static struct {
|
||||||
#define FN_POINTER(ret,name,params,args) ret (* name) params;
|
#define FN_POINTER(ret,name,params,args) ret (* name) params;
|
||||||
LIBUDEV_FUNCTIONS(FN_POINTER)
|
LIBUDEV_FUNCTIONS(FN_POINTER)
|
||||||
} udev;
|
} udev;
|
||||||
void* entry[1];
|
void* entry[LIBUDEV_NUM_FUNCTIONS];
|
||||||
} fn;
|
} fn;
|
||||||
} libudev;
|
} libudev;
|
||||||
|
|
||||||
static const char* libudev_names[] = {
|
|
||||||
"udev_new",
|
|
||||||
#define FN_NAME(ret,name,params,args) #name,
|
|
||||||
LIBUDEV_FUNCTIONS(FN_NAME)
|
|
||||||
};
|
|
||||||
|
|
||||||
#define LIBUDEV_NUM_FUNCTIONS (sizeof(libudev_names)/sizeof(libudev_names[0]))
|
|
||||||
#define LIBUDEV_NO_HANDLE ((void*)-1)
|
|
||||||
#define LIBUDEV_SO "/usr/lib/libudev.so.1"
|
|
||||||
|
|
||||||
/* udev_new() is the special function where we load the library */
|
/* udev_new() is the special function where we load the library */
|
||||||
struct udev*
|
struct udev*
|
||||||
udev_new()
|
udev_new()
|
||||||
|
|
Loading…
Reference in a new issue