# * `YN' is a format character for `PyArg_ParseTuple...' for retrieving an
* octet string and length from any sort-of vaguely binary-ish object.
*/
-#define BINOBJ PyStringObject
-#define BIN_TYPE PyString_Type
-#define BIN_CHECK(obj) PyString_Check(obj)
-#define BIN_PTR(obj) PyString_AS_STRING(obj)
-#define BIN_LEN(obj) PyString_GET_SIZE(obj)
-#define BIN_FROMSTR(str) PyString_FromString(str)
-#define BIN_FROMSTRLEN(str, len) PyString_FromStringAndSize(str, len)
-#define BIN_FORMAT PyString_FromFormat
-#define BIN_VFORMAT PyString_FromFormatV
-#define BIN_PREPAREWRITE(obj, ptr, sz) do { \
- (obj) = PyString_FromStringAndSize(0, (sz)); \
- (ptr) = PyString_AS_STRING(obj); \
-} while (0)
-#define BIN_DONEWRITE(obj, sz) do Py_SIZE(obj) = (sz); while (0)
-#define BIN_SETLEN(obj, len) do Py_SIZE(obj) = (len); while (0)
-#define Y "s"
-#define YN "s#"
+# define BINOBJ PyStringObject
+# define BIN_TYPE PyString_Type
+# define BIN_CHECK(obj) PyString_Check(obj)
+# define BIN_PTR(obj) PyString_AS_STRING(obj)
+# define BIN_LEN(obj) PyString_GET_SIZE(obj)
+# define BIN_FROMSTR(str) PyString_FromString(str)
+# define BIN_FROMSTRLEN(str, len) PyString_FromStringAndSize(str, len)
+# define BIN_FORMAT PyString_FromFormat
+# define BIN_VFORMAT PyString_FromFormatV
+# define BIN_PREPAREWRITE(obj, ptr, sz) do { \
+ (obj) = PyString_FromStringAndSize(0, (sz)); \
+ (ptr) = PyString_AS_STRING(obj); \
+ } while (0)
+# define BIN_DONEWRITE(obj, sz) do Py_SIZE(obj) = (sz); while (0)
+# define BIN_SETLEN(obj, len) do Py_SIZE(obj) = (len); while (0)
+# define Y "s"
+# define YN "s#"
/* Text strings. Both Python 2 and Python 3 call these `str', but they're
* very different because a Python 3 `str' is Unicode inside. When dealing
*
* (Use `s' and `s#' in `PyArg_ParseTuple...'.)
*/
-#define TEXTOBJ PyStringObject
-#define TEXT_TYPE PyString_Type
-#define TEXT_CHECK(obj) PyString_Check(obj)
-#define TEXT_PTR(obj) PyString_AS_STRING(obj)
-#define TEXT_STR(obj) PyString_AsString(obj)
-#define TEXT_PTRLEN(obj, ptr, len) do { \
- (ptr) = PyString_AS_STRING(obj); \
- (len) = PyString_GET_SIZE(obj); \
-} while (0)
-#define TEXT_FORMAT PyString_FromFormat
-#define TEXT_VFORMAT PyString_FromFormatV
-#define TEXT_PREPAREWRITE(obj, ptr, sz) do { \
- (obj) = PyString_FromStringAndSize(0, (sz)); \
- (ptr) = PyString_AS_STRING(obj); \
-} while (0)
-#define TEXT_DONEWRITE(obj, sz) do { Py_SIZE(obj) = (sz); } while (0)
-#define TEXT_FROMSTR(str) PyString_FromString(str)
-#define TEXT_FROMSTRLEN(str, len) PyString_FromStringAndSize(str, len)
+# define TEXTOBJ PyStringObject
+# define TEXT_TYPE PyString_Type
+# define TEXT_CHECK(obj) PyString_Check(obj)
+# define TEXT_PTR(obj) PyString_AS_STRING(obj)
+# define TEXT_STR(obj) PyString_AsString(obj)
+# define TEXT_PTRLEN(obj, ptr, len) do { \
+ (ptr) = PyString_AS_STRING(obj); \
+ (len) = PyString_GET_SIZE(obj); \
+ } while (0)
+# define TEXT_FORMAT PyString_FromFormat
+# define TEXT_VFORMAT PyString_FromFormatV
+# define TEXT_PREPAREWRITE(obj, ptr, sz) do { \
+ (obj) = PyString_FromStringAndSize(0, (sz)); \
+ (ptr) = PyString_AS_STRING(obj); \
+ } while (0)
+# define TEXT_DONEWRITE(obj, sz) do { Py_SIZE(obj) = (sz); } while (0)
+# define TEXT_FROMSTR(str) PyString_FromString(str)
+# define TEXT_FROMSTRLEN(str, len) PyString_FromStringAndSize(str, len)
/*----- Utilities for returning values and exceptions ---------------------*/
#define GMAP_NAMETHDECL(func, doc) \
extern PyObject *gmapmeth_##func(PyObject *);
-#define GMAP_DOROMETHODS(METH, KWMETH, NAMETH) \
- METH (has_key, "D.has_key(KEY) -> BOOL") \
- NAMETH(keys, "D.keys() -> LIST") \
- NAMETH(values, "D.values() -> LIST") \
- NAMETH(items, "D.items() -> LIST") \
- NAMETH(iterkeys, "D.iterkeys() -> ITER") \
- NAMETH(itervalues, "D.itervalues() -> ITER") \
- NAMETH(iteritems, "D.iteritems() -> ITER") \
- KWMETH(get, "D.get(KEY, [default = None]) -> VALUE")
+# define GMAP_DOROMETHODS(METH, KWMETH, NAMETH) \
+ METH (has_key, "D.has_key(KEY) -> BOOL") \
+ NAMETH(keys, "D.keys() -> LIST") \
+ NAMETH(values, "D.values() -> LIST") \
+ NAMETH(items, "D.items() -> LIST") \
+ NAMETH(iterkeys, "D.iterkeys() -> ITER") \
+ NAMETH(itervalues, "D.itervalues() -> ITER") \
+ NAMETH(iteritems, "D.iteritems() -> ITER") \
+ KWMETH(get, "D.get(KEY, [default = None]) -> VALUE")
#define GMAP_DOMETHODS(METH, KWMETH, NAMETH) \
GMAP_DOROMETHODS(METH, KWMETH, NAMETH) \