Commit a32a7b58 authored by Ondrej Zajicek (work)'s avatar Ondrej Zajicek (work)
Browse files

Lib: Fix macro/keyword collisions

Old code breaks with some versions of bison
parent 7fc55925
Loading
Loading
Loading
Loading
+5 −1
Original line number Diff line number Diff line
@@ -13,10 +13,14 @@
#include "lib/resource.h"
#include "sysdep/config.h"

#define BUFFER(type)		struct { type *data; uint used, size; }
#define BUFFER_(type)		struct { type *data; uint used, size; }
#define BUFFER_TYPE(v)		typeof(* (v).data)
#define BUFFER_SIZE(v)		((v).size * sizeof(* (v).data))

#ifndef PARSER
#define BUFFER(type) BUFFER_(type)
#endif

#define BUFFER_INIT(v,pool,isize)					\
  ({									\
    (v).used = 0;							\
+1 −1
Original line number Diff line number Diff line
@@ -91,7 +91,7 @@ const byte *flow6_next_part(const byte *pos, const byte *end);

/* A data structure for keep a state of flow builder */
struct flow_builder {
  BUFFER(byte) data;
  BUFFER_(byte) data;
  enum flow_type this_type;
  enum flow_type last_type;
  u16 last_op_offset;			/* Position of last operator in data.data */
+1 −1
Original line number Diff line number Diff line
@@ -30,7 +30,7 @@ typedef struct timer

struct timeloop
{
  BUFFER(timer *) timers;
  BUFFER_(timer *) timers;
  btime last_time;
  btime real_time;
};
+1 −1
Original line number Diff line number Diff line
@@ -25,7 +25,7 @@ struct static_proto {
  struct proto p;

  struct event *event;			/* Event for announcing updated routes */
  BUFFER(struct static_route *) marked;	/* Routes marked for reannouncement */
  BUFFER_(struct static_route *) marked; /* Routes marked for reannouncement */
  rtable *igp_table_ip4;		/* Table for recursive IPv4 next hop lookups */
  rtable *igp_table_ip6;		/* Table for recursive IPv6 next hop lookups */
};