solved 64 bit issue by changing long to int

This commit is contained in:
Andreas Steffen
2006-11-01 09:48:25 +00:00
parent 923ee10eef
commit ccd6120387
2 changed files with 13 additions and 10 deletions
+10 -7
View File
@@ -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);
} }
/** /**
+2 -2
View File
@@ -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 */