Eliminate the `rlimits.h' header using scary macros.
[fwd] / exec.c
diff --git a/exec.c b/exec.c
index 9b7e87b..92c0b26 100644 (file)
--- a/exec.c
+++ b/exec.c
@@ -33,8 +33,9 @@
 #ifdef HAVE_SETRLIMIT
 
 typedef struct xlimit {
-#define R(r, n) struct rlimit n;
-#include "rlimits.h"
+#define XLIMIT_ENTRY(name, constant) struct rlimit name;
+  RLIMITS(XLIMIT_ENTRY)
+#undef XLIMIT_ENTRY
 } xlimit;
 
 #endif
@@ -138,8 +139,10 @@ typedef struct rlimit_ent {
 } rlimit_ent;
 
 static rlimit_ent rlimits[] = {
-#define R(r, n) { #n, #r, r, offsetof(xlimit, n) },
-#include "rlimits.h"
+#define TABLE_ENTRY(name, constant)                                    \
+  { #name, #constant, constant, offsetof(xlimit, name) },
+  RLIMITS(TABLE_ENTRY)
+#undef TABLE_ENTRY
   { 0, 0, 0, 0 }
 };