]> git.neil.brown.name Git - edlib.git/commitdiff
Remove var-args pane_register()
authorNeilBrown <neil@brown.name>
Thu, 14 Sep 2023 11:42:54 +0000 (21:42 +1000)
committerNeilBrown <neil@brown.name>
Fri, 15 Sep 2023 03:38:14 +0000 (13:38 +1000)
pane_register() is now precisely defined by the PANE_DATA* #define.
No need for different versions with different numbers of args.

Signed-off-by: NeilBrown <neil@brown.name>
core.h

diff --git a/core.h b/core.h
index 8a6fbc084c4b6cb52bc01dcad93640d62d225ed8..330df3b98f441cfe89c3179e46e00c27c5f95589 100644 (file)
--- a/core.h
+++ b/core.h
@@ -458,11 +458,9 @@ struct xy {short x,y;};
 struct pane * do_pane_register(struct pane *parent safe, short z,
                               struct command *handle safe, void *data,
                               short data_size);
-#define pane_register(...) VFUNC(pane_register, __VA_ARGS__)
 #ifdef PANE_DATA_TYPE
-#define pane_register4(p,z,h,d) do_pane_register(p,z,h,d,sizeof(d))
-#define pane_register3(p,z,h) do_pane_register(p,z,h,NULL, sizeof(PANE_DATA_TYPE))
-#else
+#define pane_register(p,z,h) do_pane_register(p,z,h,NULL, sizeof(PANE_DATA_TYPE))
+#endif
 #ifdef PANE_DATA_PTR_TYPE
 static inline struct pane *pane_register(struct pane *parent safe, short z,
                                         struct command *handle safe,
@@ -470,14 +468,9 @@ static inline struct pane *pane_register(struct pane *parent safe, short z,
 {
        return do_pane_register(parent, z, handle, (void*)data, sizeof(data));
 }
-#else
-#ifdef PANE_DATA_VOID
-#define pane_register3(p,z,h) do_pane_register(p,z,h,NULL, 0)
-#else
-#define pane_register4(p,z,h,d) do_pane_register(p,z,h,d,sizeof((d)[0]))
-#define pane_register3(p,z,h) do_pane_register(p,z,h,NULL, 0)
-#endif
 #endif
+#ifdef PANE_DATA_VOID
+#define pane_register(p,z,h) do_pane_register(p,z,h,NULL, 0)
 #endif
 
 #ifdef PANE_DATA_TYPE_2