pyke/pyke.h: Add a `MEMBER' variant with explicit member name.
authorMark Wooding <mdw@distorted.org.uk>
Sun, 20 Oct 2019 11:43:40 +0000 (12:43 +0100)
committerMark Wooding <mdw@distorted.org.uk>
Sat, 11 Apr 2020 11:44:14 +0000 (12:44 +0100)
pyke.h

diff --git a/pyke.h b/pyke.h
index e7a1ece..3076bb5 100644 (file)
--- a/pyke.h
+++ b/pyke.h
@@ -271,15 +271,16 @@ extern PyTypeObject *inittype(PyTypeObject */*skel*/,
 #define GETSET(func, doc)                                              \
   { #func, GETSETNAME(get, func), GETSETNAME(set, func), doc },
 
-/* Convenience wrapper for filling in `PyMemberDef' tables.  Define
+/* Convenience wrappers for filling in `PyMemberDef' tables.  Define
  * `MEMBERSTRUCT' locally as
  *
  *     #define MEMBERSTRUCT foo_pyobj
  *
  * around the member table.
  */
-#define MEMBER(name, ty, f, doc)                                       \
-  { #name, ty, offsetof(MEMBERSTRUCT, name), f, doc },
+#define MEMRNM(name, ty, mem, f, doc)                                  \
+  { #name, ty, offsetof(MEMBERSTRUCT, mem), f, doc },
+#define MEMBER(name, ty, f, doc) MEMRNM(name, ty, name, f, doc)
 
 /* Wrappers for filling in pointers in a `PyTypeObject' structure, (a)
  * following Pyke naming convention, and (b) stripping `const' from the types