diff options
author | Andreas Steffen <andreas.steffen@strongswan.org> | 2006-11-01 09:48:25 +0000 |
---|---|---|
committer | Andreas Steffen <andreas.steffen@strongswan.org> | 2006-11-01 09:48:25 +0000 |
commit | ccd6120387e83920ed35f90150346eb50abc36b4 (patch) | |
tree | 8ce8ac08300c208575549ae74e55b828eadc9c83 /src/libstrongswan/enum.c | |
parent | 923ee10eefc894725e74aefa4ba3ff72f865ccdd (diff) | |
download | strongswan-ccd6120387e83920ed35f90150346eb50abc36b4.tar.bz2 strongswan-ccd6120387e83920ed35f90150346eb50abc36b4.tar.xz |
solved 64 bit issue by changing long to int
Diffstat (limited to 'src/libstrongswan/enum.c')
-rw-r--r-- | src/libstrongswan/enum.c | 19 |
1 files changed, 11 insertions, 8 deletions
diff --git a/src/libstrongswan/enum.c b/src/libstrongswan/enum.c index c3dd2e549..ade7c16a1 100644 --- a/src/libstrongswan/enum.c +++ b/src/libstrongswan/enum.c @@ -30,7 +30,7 @@ /** * 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 { @@ -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, const void *const *args) { - enum_name_t *ed = *((void**)(args[0])); - long val = *((long*)(args[1])); - char *name; - - name = enum_name(ed, val); + enum_name_t *ed = *((enum_name_t**)(args[0])); + int val = *((int*)(args[1])); + + char *name = enum_name(ed, val); + 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); } /** |