solved 64 bit issue by changing long to int
authorAndreas Steffen <andreas.steffen@strongswan.org>
Wed, 1 Nov 2006 09:48:25 +0000 (09:48 -0000)
committerAndreas Steffen <andreas.steffen@strongswan.org>
Wed, 1 Nov 2006 09:48:25 +0000 (09:48 -0000)
src/libstrongswan/enum.c
src/libstrongswan/enum.h

index c3dd2e5..ade7c16 100644 (file)
@@ -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);
 }
 
 /**
index 3b90ce9..cd06e42 100644 (file)
@@ -52,9 +52,9 @@ typedef struct enum_name_t enum_name_t;
  */
 struct enum_name_t {
        /** value of the first enum string */
-       long first;
+       int first;
        /** value of the last enum string */
-       long last;
+       int last;
        /** next enum_name_t in list */
        enum_name_t *next;
        /** array of strings containing names from first to last */