aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--main.c6
-rw-r--r--toys/toylist.h14
2 files changed, 8 insertions, 12 deletions
diff --git a/main.c b/main.c
index 15543afb..b264ec60 100644
--- a/main.c
+++ b/main.c
@@ -8,8 +8,12 @@
// Populate toy_list[].
+#undef NEWTOY
+#undef OLDTOY
+#define NEWTOY(name, opts, flags) {#name, name##_main, opts, flags},
+#define OLDTOY(name, oldname, opts, flags) {#name, oldname##_main, opts, flags},
+
struct toy_list toy_list[] = {
-#define FROM_MAIN
#include "toys/toylist.h"
};
diff --git a/toys/toylist.h b/toys/toylist.h
index 6914f4ee..d6b9866c 100644
--- a/toys/toylist.h
+++ b/toys/toylist.h
@@ -5,18 +5,10 @@
*/
-// When #included from main.c, provide the guts for toy_list[]
+// Provide function declarations and structs. Note that main.c #includes this
+// file twice (with different macros) to populate toy_list[].
-#ifdef FROM_MAIN
-#undef NEWTOY
-#undef OLDTOY
-#define NEWTOY(name, opts, flags) {#name, name##_main, opts, flags},
-#define OLDTOY(name, oldname, opts, flags) {#name, oldname##_main, opts, flags},
-
-// When #included from toys.h, provide function declarations and structs.
-// The #else is because main.c #includes this file twice.
-
-#else
+#ifndef NEWTOY
#define NEWTOY(name, opts, flags) int name##_main(void);
#define OLDTOY(name, oldname, opts, flags)