]> git.ipfire.org Git - thirdparty/bird.git/commitdiff
Flowspec: portability fixes in action formatting
authorJan Moskyto Matejka <mq@ucw.cz>
Tue, 11 Jul 2017 12:35:20 +0000 (14:35 +0200)
committerJan Moskyto Matejka <mq@ucw.cz>
Tue, 11 Jul 2017 12:35:20 +0000 (14:35 +0200)
lib/flowspec.c
lib/printf.c

index cdf80ba3763ed60ae7dccc70b82bc283b3e388fb..387a2715726c13a6c04beadd5c945ab5b427cf56 100644 (file)
@@ -83,16 +83,14 @@ flow_type_str(enum flow_type type, int ipv6)
 const char *
 flow_action_str(uint action)
 {
-#define C(c, s) case c: return s
   switch(action) {
-    C(FLOW_ACTION_TRAFFIC_BYTERATE, "byterate");
-    C(FLOW_ACTION_TRAFFIC_ACTION, "action");
-    C(FLOW_ACTION_REDIRECT_AS2, "redirect");
-    C(FLOW_ACTION_REDIRECT_AS4, "redirect");
-    C(FLOW_ACTION_REDIRECT_IP4, "redirect");
-    C(FLOW_ACTION_TRAFFIC_MARKING, "mark");
+    case FLOW_ACTION_TRAFFIC_BYTERATE: return "byterate";
+    case FLOW_ACTION_TRAFFIC_ACTION: return "action";
+    case FLOW_ACTION_REDIRECT_AS2: return "redirect";
+    case FLOW_ACTION_REDIRECT_AS4: return "redirect";
+    case FLOW_ACTION_REDIRECT_IP4: return "redirect";
+    case FLOW_ACTION_TRAFFIC_MARKING: return "mark";
   }
-#undef C
   return NULL;
 }
 
@@ -1265,11 +1263,11 @@ flow_action_format_part(char *buf, uint blen, u64 ec)
        return total;
       }
     case FLOW_ACTION_REDIRECT_AS2:
-      return bsnprintf(buf, blen, "rt %d,%d;", ((ec >> 32) & 0xffff), (ec & 0xffffffff));
+      return bsnprintf(buf, blen, "rt %lu,%lu;", ((ec >> 32) & 0xffff), (ec & 0xffffffff));
     case FLOW_ACTION_REDIRECT_AS4:
-      return bsnprintf(buf, blen, "rt %d,%d;", ((ec >> 16) & 0xffffffff), (ec & 0xffff));
+      return bsnprintf(buf, blen, "rt %lu,%lu;", ((ec >> 16) & 0xffffffff), (ec & 0xffff));
     case FLOW_ACTION_TRAFFIC_MARKING:
-      return bsnprintf(buf, blen, "dscp %d;", (ec & 0x3f));
+      return bsnprintf(buf, blen, "dscp %lu;", (ec & 0x3f));
     default:
       return 0;
   }
index af795c21912ff67ae36eae330bfd7ce35b2fdea5..d160dc1501d01e5206f82fc714855927d748e112 100644 (file)
@@ -145,7 +145,7 @@ int bvsnprintf(char *buf, int size, const char *fmt, va_list args)
        char ipbuf[NET_MAX_TEXT_LENGTH+1];
        struct iface *iface;
        const char *percent;
-       char fmtbuf[strlen(fmt)];
+       char fmtbuf[13];
 
        int flags;              /* flags to number() */