solved 64 bit issue by changing long to int
This commit is contained in:
@@ -30,7 +30,7 @@
|
|||||||
/**
|
/**
|
||||||
* get the name of an enum value in a enum_name_t list
|
* get the name of an enum value in a enum_name_t list
|
||||||
*/
|
*/
|
||||||
static char *enum_name(enum_name_t *e, long val)
|
static char *enum_name(enum_name_t *e, int val)
|
||||||
{
|
{
|
||||||
do
|
do
|
||||||
{
|
{
|
||||||
@@ -49,16 +49,19 @@ static char *enum_name(enum_name_t *e, long val)
|
|||||||
static int print_enum(FILE *stream, const struct printf_info *info,
|
static int print_enum(FILE *stream, const struct printf_info *info,
|
||||||
const void *const *args)
|
const void *const *args)
|
||||||
{
|
{
|
||||||
enum_name_t *ed = *((void**)(args[0]));
|
enum_name_t *ed = *((enum_name_t**)(args[0]));
|
||||||
long val = *((long*)(args[1]));
|
int val = *((int*)(args[1]));
|
||||||
char *name;
|
|
||||||
|
char *name = enum_name(ed, val);
|
||||||
|
|
||||||
name = enum_name(ed, val);
|
|
||||||
if (name == NULL)
|
if (name == NULL)
|
||||||
{
|
{
|
||||||
return fprintf(stream, "(unknown enum value: %ld)", val);
|
return fprintf(stream, "(%d)", val);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
return fprintf(stream, "%s", name);
|
||||||
}
|
}
|
||||||
return fprintf(stream, "%s", name);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|||||||
@@ -52,9 +52,9 @@ typedef struct enum_name_t enum_name_t;
|
|||||||
*/
|
*/
|
||||||
struct enum_name_t {
|
struct enum_name_t {
|
||||||
/** value of the first enum string */
|
/** value of the first enum string */
|
||||||
long first;
|
int first;
|
||||||
/** value of the last enum string */
|
/** value of the last enum string */
|
||||||
long last;
|
int last;
|
||||||
/** next enum_name_t in list */
|
/** next enum_name_t in list */
|
||||||
enum_name_t *next;
|
enum_name_t *next;
|
||||||
/** array of strings containing names from first to last */
|
/** array of strings containing names from first to last */
|
||||||
|
|||||||
Reference in New Issue
Block a user