*.c: Use `PyVarObject_HEAD_INIT' to initialize type object headers.
authorMark Wooding <mdw@distorted.org.uk>
Sun, 20 Oct 2019 23:14:01 +0000 (00:14 +0100)
committerMark Wooding <mdw@distorted.org.uk>
Sat, 11 Apr 2020 11:44:14 +0000 (12:44 +0100)
Define a suitable version if the Python headers don't do it for us.

16 files changed:
algorithms.c
buffer.c
bytestring.c
catacomb.c
ec.c
field.c
group.c
key.c
mp.c
passphrase.c
pgen.c
pubkey.c
pyke/mapping.c
pyke/pyke.h
rand.c
share.c

index 39449e9..9dbebe6 100644 (file)
@@ -296,7 +296,7 @@ static const PyMemberDef keyszset_pymembers[] = {
 };
 
 static const PyTypeObject keysz_pytype_skel = {
-  PyObject_HEAD_INIT(0) 0,             /* Header */
+  PyVarObject_HEAD_INIT(0, 0)          /* Header */
   "KeySZ",                             /* @tp_name@ */
   sizeof(keysz_pyobj),                 /* @tp_basicsize@ */
   0,                                   /* @tp_itemsize@ */
@@ -344,7 +344,7 @@ static const PyTypeObject keysz_pytype_skel = {
 };
 
 static const PyTypeObject keyszany_pytype_skel = {
-  PyObject_HEAD_INIT(0) 0,             /* Header */
+  PyVarObject_HEAD_INIT(0, 0)          /* Header */
   "KeySZAny",                          /* @tp_name@ */
   sizeof(keysz_pyobj),                 /* @tp_basicsize@ */
   0,                                   /* @tp_itemsize@ */
@@ -393,7 +393,7 @@ static const PyTypeObject keyszany_pytype_skel = {
 };
 
 static const PyTypeObject keyszrange_pytype_skel = {
-  PyObject_HEAD_INIT(0) 0,             /* Header */
+  PyVarObject_HEAD_INIT(0, 0)          /* Header */
   "KeySZRange",                                /* @tp_name@ */
   sizeof(keyszrange_pyobj),            /* @tp_basicsize@ */
   0,                                   /* @tp_itemsize@ */
@@ -443,7 +443,7 @@ static const PyTypeObject keyszrange_pytype_skel = {
 };
 
 static const PyTypeObject keyszset_pytype_skel = {
-  PyObject_HEAD_INIT(0) 0,             /* Header */
+  PyVarObject_HEAD_INIT(0, 0)          /* Header */
   "KeySZSet",                          /* @tp_name@ */
   sizeof(keyszset_pyobj),              /* @tp_basicsize@ */
   0,                                   /* @tp_itemsize@ */
@@ -670,7 +670,7 @@ static const PyMethodDef gcipher_pymethods[] = {
 };
 
 static const PyTypeObject gccipher_pytype_skel = {
-  PyObject_HEAD_INIT(0) 0,             /* Header */
+  PyVarObject_HEAD_INIT(0, 0)          /* Header */
   "GCCipher",                          /* @tp_name@ */
   sizeof(gccipher_pyobj),              /* @tp_basicsize@ */
   0,                                   /* @tp_itemsize@ */
@@ -718,7 +718,7 @@ static const PyTypeObject gccipher_pytype_skel = {
 };
 
 static const PyTypeObject gcipher_pytype_skel = {
-  PyObject_HEAD_INIT(0) 0,             /* Header */
+  PyVarObject_HEAD_INIT(0, 0)          /* Header */
   "GCipher",                           /* @tp_name@ */
   sizeof(gcipher_pyobj),               /* @tp_basicsize@ */
   0,                                   /* @tp_itemsize@ */
@@ -1553,7 +1553,7 @@ static const PyMethodDef gaeaddec_pymethods[] = {
 };
 
 static const PyTypeObject gcaead_pytype_skel = {
-  PyObject_HEAD_INIT(0) 0,             /* Header */
+  PyVarObject_HEAD_INIT(0, 0)          /* Header */
   "GCAEAD",                            /* @tp_name@ */
   sizeof(gcaead_pyobj),                        /* @tp_basicsize@ */
   0,                                   /* @tp_itemsize@ */
@@ -1601,7 +1601,7 @@ static const PyTypeObject gcaead_pytype_skel = {
 };
 
 static const PyTypeObject gaeadkey_pytype_skel = {
-  PyObject_HEAD_INIT(0) 0,             /* Header */
+  PyVarObject_HEAD_INIT(0, 0)          /* Header */
   "GAEKey",                            /* @tp_name@ */
   sizeof(gaeadkey_pyobj),              /* @tp_basicsize@ */
   0,                                   /* @tp_itemsize@ */
@@ -1649,7 +1649,7 @@ static const PyTypeObject gaeadkey_pytype_skel = {
 };
 
 static const PyTypeObject gcaeadaad_pytype_skel = {
-  PyObject_HEAD_INIT(0) 0,             /* Header */
+  PyVarObject_HEAD_INIT(0, 0)          /* Header */
   "GAEAADClass",                       /* @tp_name@ */
   sizeof(gcaeadaad_pyobj),             /* @tp_basicsize@ */
   0,                                   /* @tp_itemsize@ */
@@ -1697,7 +1697,7 @@ static const PyTypeObject gcaeadaad_pytype_skel = {
 };
 
 static const PyTypeObject gaeadaad_pytype_skel = {
-  PyObject_HEAD_INIT(0) 0,             /* Header */
+  PyVarObject_HEAD_INIT(0, 0)          /* Header */
   "GAEAAD",                            /* @tp_name@ */
   sizeof(gaeadaad_pyobj),              /* @tp_basicsize@ */
   0,                                   /* @tp_itemsize@ */
@@ -1745,7 +1745,7 @@ static const PyTypeObject gaeadaad_pytype_skel = {
 };
 
 static const PyTypeObject gcaeadenc_pytype_skel = {
-  PyObject_HEAD_INIT(0) 0,             /* Header */
+  PyVarObject_HEAD_INIT(0, 0)          /* Header */
   "GAEEncClass",                       /* @tp_name@ */
   sizeof(gcaeadenc_pyobj),             /* @tp_basicsize@ */
   0,                                   /* @tp_itemsize@ */
@@ -1793,7 +1793,7 @@ static const PyTypeObject gcaeadenc_pytype_skel = {
 };
 
 static const PyTypeObject gaeadenc_pytype_skel = {
-  PyObject_HEAD_INIT(0) 0,             /* Header */
+  PyVarObject_HEAD_INIT(0, 0)          /* Header */
   "GAEEnc",                            /* @tp_name@ */
   sizeof(gaeadenc_pyobj),              /* @tp_basicsize@ */
   0,                                   /* @tp_itemsize@ */
@@ -1841,7 +1841,7 @@ static const PyTypeObject gaeadenc_pytype_skel = {
 };
 
 static const PyTypeObject gcaeaddec_pytype_skel = {
-  PyObject_HEAD_INIT(0) 0,             /* Header */
+  PyVarObject_HEAD_INIT(0, 0)          /* Header */
   "GAEDecClass",                       /* @tp_name@ */
   sizeof(gcaeaddec_pyobj),             /* @tp_basicsize@ */
   0,                                   /* @tp_itemsize@ */
@@ -1889,7 +1889,7 @@ static const PyTypeObject gcaeaddec_pytype_skel = {
 };
 
 static const PyTypeObject gaeaddec_pytype_skel = {
-  PyObject_HEAD_INIT(0) 0,             /* Header */
+  PyVarObject_HEAD_INIT(0, 0)          /* Header */
   "GAEDec",                            /* @tp_name@ */
   sizeof(gaeaddec_pyobj),              /* @tp_basicsize@ */
   0,                                   /* @tp_itemsize@ */
@@ -2087,7 +2087,7 @@ static const PyMethodDef ghash_pymethods[] = {
 };
 
 static const PyTypeObject gchash_pytype_skel = {
-  PyObject_HEAD_INIT(0) 0,             /* Header */
+  PyVarObject_HEAD_INIT(0, 0)          /* Header */
   "GCHash",                            /* @tp_name@ */
   sizeof(gchash_pyobj),                        /* @tp_basicsize@ */
   0,                                   /* @tp_itemsize@ */
@@ -2135,7 +2135,7 @@ static const PyTypeObject gchash_pytype_skel = {
 };
 
 static const PyTypeObject ghash_pytype_skel = {
-  PyObject_HEAD_INIT(0) 0,             /* Header */
+  PyVarObject_HEAD_INIT(0, 0)          /* Header */
   "GHash",                             /* @tp_name@ */
   sizeof(ghash_pyobj),                 /* @tp_basicsize@ */
   0,                                   /* @tp_itemsize@ */
@@ -2301,7 +2301,7 @@ static const PyGetSetDef gcmac_pygetset[] = {
 };
 
 static const PyTypeObject gcmac_pytype_skel = {
-  PyObject_HEAD_INIT(0) 0,             /* Header */
+  PyVarObject_HEAD_INIT(0, 0)          /* Header */
   "GCMAC",                             /* @tp_name@ */
   sizeof(gchash_pyobj),                        /* @tp_basicsize@ */
   0,                                   /* @tp_itemsize@ */
@@ -2349,7 +2349,7 @@ static const PyTypeObject gcmac_pytype_skel = {
 };
 
 static const PyTypeObject gmac_pytype_skel = {
-  PyObject_HEAD_INIT(0) 0,             /* Header */
+  PyVarObject_HEAD_INIT(0, 0)          /* Header */
   "GMAC",                              /* @tp_name@ */
   sizeof(gmac_pyobj),                  /* @tp_basicsize@ */
   0,                                   /* @tp_itemsize@ */
@@ -2397,7 +2397,7 @@ static const PyTypeObject gmac_pytype_skel = {
 };
 
 static const PyTypeObject gmhash_pytype_skel = {
-  PyObject_HEAD_INIT(0) 0,             /* Header */
+  PyVarObject_HEAD_INIT(0, 0)          /* Header */
   "GMACHash",                          /* @tp_name@ */
   sizeof(ghash_pyobj),                 /* @tp_basicsize@ */
   0,                                   /* @tp_itemsize@ */
@@ -2647,7 +2647,7 @@ static const PyMethodDef poly1305hash_pymethods[] = {
 };
 
 static const PyTypeObject poly1305cls_pytype_skel = {
-  PyObject_HEAD_INIT(0) 0,             /* Header */
+  PyVarObject_HEAD_INIT(0, 0)          /* Header */
   "Poly1305Class",                     /* @tp_name@ */
   sizeof(PyHeapTypeObject),            /* @tp_basicsize@ */
   0,                                   /* @tp_itemsize@ */
@@ -2695,7 +2695,7 @@ static const PyTypeObject poly1305cls_pytype_skel = {
 };
 
 static const PyTypeObject poly1305key_pytype_skel = {
-  PyObject_HEAD_INIT(0) 0,             /* Header */
+  PyVarObject_HEAD_INIT(0, 0)          /* Header */
   "poly1305",                          /* @tp_name@ */
   sizeof(poly1305key_pyobj),           /* @tp_basicsize@ */
   0,                                   /* @tp_itemsize@ */
@@ -2743,7 +2743,7 @@ static const PyTypeObject poly1305key_pytype_skel = {
 };
 
 static const PyTypeObject poly1305hash_pytype_skel = {
-  PyObject_HEAD_INIT(0) 0,             /* Header */
+  PyVarObject_HEAD_INIT(0, 0)          /* Header */
   "Poly1305Hash",                      /* @tp_name@ */
   sizeof(poly1305hash_pyobj),          /* @tp_basicsize@ */
   0,                                   /* @tp_itemsize@ */
@@ -2923,7 +2923,7 @@ static const PyMethodDef kxvik_pymethods[] = {
 };
 
 static const PyTypeObject kxvik_pytype_skel = {
-  PyObject_HEAD_INIT(0) 0,             /* Header */
+  PyVarObject_HEAD_INIT(0, 0)          /* Header */
   "Keccak1600",                                /* @tp_name@ */
   sizeof(kxvik_pyobj),                 /* @tp_basicsize@ */
   0,                                   /* @tp_itemsize@ */
@@ -3168,7 +3168,7 @@ static const PyMethodDef shake_pymethods[] = {
 };
 
 static const PyTypeObject shake_pytype_skel = {
-  PyObject_HEAD_INIT(0) 0,             /* Header */
+  PyVarObject_HEAD_INIT(0, 0)          /* Header */
   "Shake",                             /* @tp_name@ */
   sizeof(shake_pyobj),                 /* @tp_basicsize@ */
   0,                                   /* @tp_itemsize@ */
@@ -3216,7 +3216,7 @@ static const PyTypeObject shake_pytype_skel = {
 };
 
 static const PyTypeObject shake128_pytype_skel = {
-  PyObject_HEAD_INIT(0) 0,             /* Header */
+  PyVarObject_HEAD_INIT(0, 0)          /* Header */
   "Shake128",                          /* @tp_name@ */
   0,                                   /* @tp_basicsize@ */
   0,                                   /* @tp_itemsize@ */
@@ -3264,7 +3264,7 @@ static const PyTypeObject shake128_pytype_skel = {
 };
 
 static const PyTypeObject shake256_pytype_skel = {
-  PyObject_HEAD_INIT(0) 0,             /* Header */
+  PyVarObject_HEAD_INIT(0, 0)          /* Header */
   "Shake256",                          /* @tp_name@ */
   0,                                   /* @tp_basicsize@ */
   0,                                   /* @tp_itemsize@ */
@@ -3461,7 +3461,7 @@ static const PyMethodDef gprp_pymethods[] = {
 };
 
 static const PyTypeObject gcprp_pytype_skel = {
-  PyObject_HEAD_INIT(0) 0,             /* Header */
+  PyVarObject_HEAD_INIT(0, 0)          /* Header */
   "GCPRP",                             /* @tp_name@ */
   sizeof(gcprp_pyobj),                 /* @tp_basicsize@ */
   0,                                   /* @tp_itemsize@ */
@@ -3509,7 +3509,7 @@ static const PyTypeObject gcprp_pytype_skel = {
 };
 
 static const PyTypeObject gprp_pytype_skel = {
-  PyObject_HEAD_INIT(0) 0,             /* Header */
+  PyVarObject_HEAD_INIT(0, 0)          /* Header */
   "GPRP",                              /* @tp_name@ */
   sizeof(gprp_pyobj),                  /* @tp_basicsize@ */
   0,                                   /* @tp_itemsize@ */
index 6f6d422..ea114c1 100644 (file)
--- a/buffer.c
+++ b/buffer.c
@@ -281,7 +281,7 @@ static const PyBufferProcs rbuf_pybuffer = {
 };
 
 static const PyTypeObject rbuf_pytype_skel = {
-  PyObject_HEAD_INIT(0) 0,             /* Header */
+  PyVarObject_HEAD_INIT(0, 0)          /* Header */
   "ReadBuffer",                                /* @tp_name@ */
   sizeof(buf_pyobj),                   /* @tp_basicsize@ */
   0,                                   /* @tp_itemsize@ */
@@ -521,7 +521,7 @@ static const PyBufferProcs wbuf_pybuffer = {
 };
 
 static const PyTypeObject wbuf_pytype_skel = {
-  PyObject_HEAD_INIT(0) 0,             /* Header */
+  PyVarObject_HEAD_INIT(0, 0)          /* Header */
   "WriteBuffer",                       /* @tp_name@ */
   sizeof(buf_pyobj),                   /* @tp_basicsize@ */
   0,                                   /* @tp_itemsize@ */
index 5fdd5d9..8e1d19a 100644 (file)
@@ -318,7 +318,7 @@ static const PyMappingMethods bytestring_pymapping = {
 };
 
 static const PyTypeObject bytestring_pytype_skel = {
-  PyObject_HEAD_INIT(0) 0,             /* Header */
+  PyVarObject_HEAD_INIT(0, 0)          /* Header */
   "ByteString",                                /* @tp_name@ */
   0,                                   /* @tp_basicsize@ */
   0,                                   /* @tp_itemsize@ */
index a914bff..7d3cba7 100644 (file)
@@ -231,7 +231,7 @@ PyObject *make_grouptab(const void *tab, size_t esz,
 }
 
 static const PyTypeObject thingtab_pytype_skel = {
-  PyObject_HEAD_INIT(0) 0,             /* Header */
+  PyVarObject_HEAD_INIT(0, 0)          /* Header */
   "_MiscTable",                                /* @tp_name@ */
   sizeof(thingtab_pyobj),              /* @tp_basicsize@ */
   0,                                   /* @tp_itemsize@ */
diff --git a/ec.c b/ec.c
index 0644ea5..82fc1a8 100644 (file)
--- a/ec.c
+++ b/ec.c
@@ -685,7 +685,7 @@ static const PyNumberMethods ecpt_pynumber = {
 };
 
 static const PyTypeObject ecpt_pytype_skel = {
-  PyObject_HEAD_INIT(0) 0,             /* Header */
+  PyVarObject_HEAD_INIT(0, 0)          /* Header */
   "ECPt",                              /* @tp_name@ */
   sizeof(ecpt_pyobj),                  /* @tp_basicsize@ */
   0,                                   /* @tp_itemsize@ */
@@ -811,7 +811,7 @@ static const PyNumberMethods ecptcurve_pynumber = {
 };
 
 static const PyTypeObject ecptcurve_pytype_skel = {
-  PyObject_HEAD_INIT(0) 0,             /* Header */
+  PyVarObject_HEAD_INIT(0, 0)          /* Header */
   "ECPtCurve",                         /* @tp_name@ */
   sizeof(ecpt_pyobj),                  /* @tp_basicsize@ */
   0,                                   /* @tp_itemsize@ */
@@ -1070,7 +1070,7 @@ static const PyMethodDef eccurve_pymethods[] = {
 };
 
 static const PyTypeObject eccurve_pytype_skel = {
-  PyObject_HEAD_INIT(0) 0,             /* Header */
+  PyVarObject_HEAD_INIT(0, 0)          /* Header */
   "ECCurve",                           /* @tp_name@ */
   sizeof(eccurve_pyobj),               /* @tp_basicsize@ */
   0,                                   /* @tp_itemsize@ */
@@ -1124,7 +1124,7 @@ static PyObject *ecprimecurve_pynew(PyTypeObject *ty,
 }
 
 static const PyTypeObject ecprimecurve_pytype_skel = {
-  PyObject_HEAD_INIT(0) 0,             /* Header */
+  PyVarObject_HEAD_INIT(0, 0)          /* Header */
   "ECPrimeCurve",                      /* @tp_name@ */
   sizeof(eccurve_pyobj),               /* @tp_basicsize@ */
   0,                                   /* @tp_itemsize@ */
@@ -1179,7 +1179,7 @@ static PyObject *ecprimeprojcurve_pynew(PyTypeObject *ty,
 }
 
 static const PyTypeObject ecprimeprojcurve_pytype_skel = {
-  PyObject_HEAD_INIT(0) 0,             /* Header */
+  PyVarObject_HEAD_INIT(0, 0)          /* Header */
   "ECPrimeProjCurve",                  /* @tp_name@ */
   sizeof(eccurve_pyobj),               /* @tp_basicsize@ */
   0,                                   /* @tp_itemsize@ */
@@ -1234,7 +1234,7 @@ static PyObject *ecbincurve_pynew(PyTypeObject *ty,
 }
 
 static const PyTypeObject ecbincurve_pytype_skel = {
-  PyObject_HEAD_INIT(0) 0,             /* Header */
+  PyVarObject_HEAD_INIT(0, 0)          /* Header */
   "ECBinCurve",                                /* @tp_name@ */
   sizeof(eccurve_pyobj),               /* @tp_basicsize@ */
   0,                                   /* @tp_itemsize@ */
@@ -1289,7 +1289,7 @@ static PyObject *ecbinprojcurve_pynew(PyTypeObject *ty,
 }
 
 static const PyTypeObject ecbinprojcurve_pytype_skel = {
-  PyObject_HEAD_INIT(0) 0,             /* Header */
+  PyVarObject_HEAD_INIT(0, 0)          /* Header */
   "ECBinProjCurve",                    /* @tp_name@ */
   sizeof(eccurve_pyobj),               /* @tp_basicsize@ */
   0,                                   /* @tp_itemsize@ */
@@ -1477,7 +1477,7 @@ static const PyMethodDef ecinfo_pymethods[] = {
 };
 
 static const PyTypeObject ecinfo_pytype_skel = {
-  PyObject_HEAD_INIT(0) 0,             /* Header */
+  PyVarObject_HEAD_INIT(0, 0)          /* Header */
   "ECInfo",                            /* @tp_name@ */
   sizeof(ecinfo_pyobj),                        /* @tp_basicsize@ */
   0,                                   /* @tp_itemsize@ */
diff --git a/field.c b/field.c
index ba7badb..907913d 100644 (file)
--- a/field.c
+++ b/field.c
@@ -394,7 +394,7 @@ static const PyNumberMethods fe_pynumber = {
 };
 
 static const PyTypeObject fe_pytype_skel = {
-  PyObject_HEAD_INIT(0) 0,             /* Header */
+  PyVarObject_HEAD_INIT(0, 0)          /* Header */
   "FE",                                        /* @tp_name@ */
   sizeof(fe_pyobj),                    /* @tp_basicsize@ */
   0,                                   /* @tp_itemsize@ */
@@ -540,7 +540,7 @@ static const PyMethodDef field_pymethods[] = {
 };
 
 static const PyTypeObject field_pytype_skel = {
-  PyObject_HEAD_INIT(0) 0,             /* Header */
+  PyVarObject_HEAD_INIT(0, 0)          /* Header */
   "Field",                             /* @tp_name@ */
   sizeof(field_pyobj),                 /* @tp_basicsize@ */
   0,                                   /* @tp_itemsize@ */
@@ -618,7 +618,7 @@ static const PyGetSetDef primefield_pygetset[] = {
 };
 
 static const PyTypeObject primefield_pytype_skel = {
-  PyObject_HEAD_INIT(0) 0,             /* Header */
+  PyVarObject_HEAD_INIT(0, 0)          /* Header */
   "PrimeField",                                /* @tp_name@ */
   sizeof(field_pyobj),                 /* @tp_basicsize@ */
   0,                                   /* @tp_itemsize@ */
@@ -685,7 +685,7 @@ end:
 }
 
 static const PyTypeObject niceprimefield_pytype_skel = {
-  PyObject_HEAD_INIT(0) 0,             /* Header */
+  PyVarObject_HEAD_INIT(0, 0)          /* Header */
   "NicePrimeField",                    /* @tp_name@ */
   sizeof(field_pyobj),                 /* @tp_basicsize@ */
   0,                                   /* @tp_itemsize@ */
@@ -749,7 +749,7 @@ static const PyGetSetDef binfield_pygetset[] = {
 };
 
 static const PyTypeObject binfield_pytype_skel = {
-  PyObject_HEAD_INIT(0) 0,             /* Header */
+  PyVarObject_HEAD_INIT(0, 0)          /* Header */
   "BinField",                          /* @tp_name@ */
   sizeof(field_pyobj),                 /* @tp_basicsize@ */
   0,                                   /* @tp_itemsize@ */
@@ -815,7 +815,7 @@ end:
 }
 
 static const PyTypeObject binpolyfield_pytype_skel = {
-  PyObject_HEAD_INIT(0) 0,             /* Header */
+  PyVarObject_HEAD_INIT(0, 0)          /* Header */
   "BinPolyField",                      /* @tp_name@ */
   sizeof(field_pyobj),                 /* @tp_basicsize@ */
   0,                                   /* @tp_itemsize@ */
@@ -894,7 +894,7 @@ static const PyGetSetDef binnormfield_pygetset[] = {
 };
 
 static const PyTypeObject binnormfield_pytype_skel = {
-  PyObject_HEAD_INIT(0) 0,             /* Header */
+  PyVarObject_HEAD_INIT(0, 0)          /* Header */
   "BinNormField",                      /* @tp_name@ */
   sizeof(field_pyobj),                 /* @tp_basicsize@ */
   0,                                   /* @tp_itemsize@ */
diff --git a/group.c b/group.c
index 3ff0ad3..51e0fd9 100644 (file)
--- a/group.c
+++ b/group.c
@@ -296,7 +296,7 @@ static const PyMethodDef bindhinfo_pymethods[] = {
 };
 
 static const PyTypeObject fginfo_pytype_skel = {
-  PyObject_HEAD_INIT(0) 0,             /* Header */
+  PyVarObject_HEAD_INIT(0, 0)          /* Header */
   "FGInfo",                            /* @tp_name@ */
   sizeof(fginfo_pyobj),                        /* @tp_basicsize@ */
   0,                                   /* @tp_itemsize@ */
@@ -344,7 +344,7 @@ static const PyTypeObject fginfo_pytype_skel = {
 };
 
 static const PyTypeObject dhinfo_pytype_skel = {
-  PyObject_HEAD_INIT(0) 0,             /* Header */
+  PyVarObject_HEAD_INIT(0, 0)          /* Header */
   "DHInfo",                            /* @tp_name@ */
   sizeof(fginfo_pyobj),                        /* @tp_basicsize@ */
   0,                                   /* @tp_itemsize@ */
@@ -392,7 +392,7 @@ static const PyTypeObject dhinfo_pytype_skel = {
 };
 
 static const PyTypeObject bindhinfo_pytype_skel = {
-  PyObject_HEAD_INIT(0) 0,             /* Header */
+  PyVarObject_HEAD_INIT(0, 0)          /* Header */
   "BinDHInfo",                         /* @tp_name@ */
   sizeof(fginfo_pyobj),                        /* @tp_basicsize@ */
   0,                                   /* @tp_itemsize@ */
@@ -1000,7 +1000,7 @@ static const PyNumberMethods ge_pynumber = {
 };
 
 static const PyTypeObject ge_pytype_skel = {
-  PyObject_HEAD_INIT(0) 0,             /* Header */
+  PyVarObject_HEAD_INIT(0, 0)          /* Header */
   "GE",                                        /* @tp_name@ */
   sizeof(ge_pyobj),                    /* @tp_basicsize@ */
   0,                                   /* @tp_itemsize@ */
@@ -1070,7 +1070,7 @@ static const PyMethodDef group_pymethods[] = {
 };
 
 static const PyTypeObject group_pytype_skel = {
-  PyObject_HEAD_INIT(0) 0,             /* Header */
+  PyVarObject_HEAD_INIT(0, 0)          /* Header */
   "Group",                             /* @tp_name@ */
   sizeof(group_pyobj),                 /* @tp_basicsize@ */
   0,                                   /* @tp_itemsize@ */
@@ -1147,7 +1147,7 @@ static PyObject *primegroup_pynew(PyTypeObject *ty,
 }
 
 static const PyTypeObject primegroup_pytype_skel = {
-  PyObject_HEAD_INIT(0) 0,             /* Header */
+  PyVarObject_HEAD_INIT(0, 0)          /* Header */
   "PrimeGroup",                                /* @tp_name@ */
   sizeof(group_pyobj),                 /* @tp_basicsize@ */
   0,                                   /* @tp_itemsize@ */
@@ -1224,7 +1224,7 @@ static PyObject *bingroup_pynew(PyTypeObject *ty,
 }
 
 static const PyTypeObject bingroup_pytype_skel = {
-  PyObject_HEAD_INIT(0) 0,             /* Header */
+  PyVarObject_HEAD_INIT(0, 0)          /* Header */
   "BinGroup",                          /* @tp_name@ */
   sizeof(group_pyobj),                 /* @tp_basicsize@ */
   0,                                   /* @tp_itemsize@ */
@@ -1302,7 +1302,7 @@ static PyObject *ecgroup_pynew(PyTypeObject *ty,
 }
 
 static const PyTypeObject ecgroup_pytype_skel = {
-  PyObject_HEAD_INIT(0) 0,             /* Header */
+  PyVarObject_HEAD_INIT(0, 0)          /* Header */
   "ECGroup",                           /* @tp_name@ */
   sizeof(group_pyobj),                 /* @tp_basicsize@ */
   0,                                   /* @tp_itemsize@ */
diff --git a/key.c b/key.c
index e3b5615..5057b2f 100644 (file)
--- a/key.c
+++ b/key.c
@@ -446,7 +446,7 @@ static const PyGetSetDef keydata_pygetset[] = {
 };
 
 static const PyTypeObject keydata_pytype_skel = {
-  PyObject_HEAD_INIT(0) 0,             /* Header */
+  PyVarObject_HEAD_INIT(0, 0)          /* Header */
   "KeyData",                           /* @tp_name@ */
   sizeof(keydata_pyobj),               /* @tp_basicsize@ */
   0,                                   /* @tp_itemsize@ */
@@ -523,7 +523,7 @@ static const PyGetSetDef keydatabin_pygetset[] = {
 };
 
 static const PyTypeObject keydatabin_pytype_skel = {
-  PyObject_HEAD_INIT(0) 0,             /* Header */
+  PyVarObject_HEAD_INIT(0, 0)          /* Header */
   "KeyDataBinary",                     /* @tp_name@ */
   sizeof(keydata_pyobj),               /* @tp_basicsize@ */
   0,                                   /* @tp_itemsize@ */
@@ -660,7 +660,7 @@ static const PyGetSetDef keydataenc_pygetset[] = {
 };
 
 static const PyTypeObject keydataenc_pytype_skel = {
-  PyObject_HEAD_INIT(0) 0,             /* Header */
+  PyVarObject_HEAD_INIT(0, 0)          /* Header */
   "KeyDataEncrypted",                  /* @tp_name@ */
   sizeof(keydata_pyobj),               /* @tp_basicsize@ */
   0,                                   /* @tp_itemsize@ */
@@ -736,7 +736,7 @@ static const PyGetSetDef keydatamp_pygetset[] = {
 };
 
 static const PyTypeObject keydatamp_pytype_skel = {
-  PyObject_HEAD_INIT(0) 0,             /* Header */
+  PyVarObject_HEAD_INIT(0, 0)          /* Header */
   "KeyDataMP",                         /* @tp_name@ */
   sizeof(keydata_pyobj),               /* @tp_basicsize@ */
   0,                                   /* @tp_itemsize@ */
@@ -811,7 +811,7 @@ static const PyGetSetDef keydatastr_pygetset[] = {
 };
 
 static const PyTypeObject keydatastr_pytype_skel = {
-  PyObject_HEAD_INIT(0) 0,             /* Header */
+  PyVarObject_HEAD_INIT(0, 0)          /* Header */
   "KeyDataString",                     /* @tp_name@ */
   sizeof(keydata_pyobj),               /* @tp_basicsize@ */
   0,                                   /* @tp_itemsize@ */
@@ -891,7 +891,7 @@ static const PyGetSetDef keydataec_pygetset[] = {
 };
 
 static const PyTypeObject keydataec_pytype_skel = {
-  PyObject_HEAD_INIT(0) 0,             /* Header */
+  PyVarObject_HEAD_INIT(0, 0)          /* Header */
   "KeyDataECPt",                       /* @tp_name@ */
   sizeof(keydata_pyobj),               /* @tp_basicsize@ */
   0,                                   /* @tp_itemsize@ */
@@ -1074,7 +1074,7 @@ static const PyMappingMethods keydatastruct_pymapping = {
 };
 
 static const PyTypeObject keydatastruct_pytype_skel = {
-  PyObject_HEAD_INIT(0) 0,             /* Header */
+  PyVarObject_HEAD_INIT(0, 0)          /* Header */
   "KeyDataStructured",                 /* @tp_name@ */
   sizeof(keydata_pyobj),               /* @tp_basicsize@ */
   0,                                   /* @tp_itemsize@ */
@@ -1216,7 +1216,7 @@ static const PyMappingMethods keyattrs_pymapping = {
 };
 
 static const PyTypeObject keyattrs_pytype_skel = {
-  PyObject_HEAD_INIT(0) 0,             /* Header */
+  PyVarObject_HEAD_INIT(0, 0)          /* Header */
   "KeyAttributes",                     /* @tp_name@ */
   sizeof(keyattrs_pyobj),              /* @tp_basicsize@ */
   0,                                   /* @tp_itemsize@ */
@@ -1519,7 +1519,7 @@ static const PyGetSetDef key_pygetset[] = {
 };
 
 static const PyTypeObject key_pytype_skel = {
-  PyObject_HEAD_INIT(0) 0,             /* Header */
+  PyVarObject_HEAD_INIT(0, 0)          /* Header */
   "Key",                               /* @tp_name@ */
   sizeof(key_pyobj),                   /* @tp_basicsize@ */
   0,                                   /* @tp_itemsize@ */
@@ -1852,7 +1852,7 @@ static const PyMappingMethods keyfile_pymapping = {
 };
 
 static const PyTypeObject keyfile_pytype_skel = {
-  PyObject_HEAD_INIT(0) 0,             /* Header */
+  PyVarObject_HEAD_INIT(0, 0)          /* Header */
   "KeyFile",                           /* @tp_name@ */
   sizeof(keyfile_pyobj),               /* @tp_basicsize@ */
   0,                                   /* @tp_itemsize@ */
diff --git a/mp.c b/mp.c
index 1513974..93dd137 100644 (file)
--- a/mp.c
+++ b/mp.c
@@ -932,7 +932,7 @@ static const PyNumberMethods mp_pynumber = {
 };
 
 static const PyTypeObject mp_pytype_skel = {
-  PyObject_HEAD_INIT(0) 0,             /* Header */
+  PyVarObject_HEAD_INIT(0, 0)          /* Header */
   "MP",                                        /* @tp_name@ */
   sizeof(mp_pyobj),                    /* @tp_basicsize@ */
   0,                                   /* @tp_itemsize@ */
@@ -1091,7 +1091,7 @@ static const PyMethodDef mpmul_pymethods[] = {
 };
 
 static const PyTypeObject mpmul_pytype_skel = {
-  PyObject_HEAD_INIT(0) 0,             /* Header */
+  PyVarObject_HEAD_INIT(0, 0)          /* Header */
   "MPMul",                             /* @tp_name@ */
   sizeof(mpmul_pyobj),                 /* @tp_basicsize@ */
   0,                                   /* @tp_itemsize@ */
@@ -1360,7 +1360,7 @@ static const PyMethodDef mpmont_pymethods[] = {
 };
 
 static const PyTypeObject mpmont_pytype_skel = {
-  PyObject_HEAD_INIT(0) 0,             /* Header */
+  PyVarObject_HEAD_INIT(0, 0)          /* Header */
   "MPMont",                            /* @tp_name@ */
   sizeof(mpmont_pyobj),                        /* @tp_basicsize@ */
   0,                                   /* @tp_itemsize@ */
@@ -1501,7 +1501,7 @@ static const PyMethodDef mpbarrett_pymethods[] = {
 };
 
 static const PyTypeObject mpbarrett_pytype_skel = {
-  PyObject_HEAD_INIT(0) 0,             /* Header */
+  PyVarObject_HEAD_INIT(0, 0)          /* Header */
   "MPBarrett",                         /* @tp_name@ */
   sizeof(mpbarrett_pyobj),             /* @tp_basicsize@ */
   0,                                   /* @tp_itemsize@ */
@@ -1631,7 +1631,7 @@ static const const PyMethodDef mpreduce_pymethods[] = {
 };
 
 static const PyTypeObject mpreduce_pytype_skel = {
-  PyObject_HEAD_INIT(0) 0,             /* Header */
+  PyVarObject_HEAD_INIT(0, 0)          /* Header */
   "MPReduce",                          /* @tp_name@ */
   sizeof(mpreduce_pyobj),              /* @tp_basicsize@ */
   0,                                   /* @tp_itemsize@ */
@@ -1815,7 +1815,7 @@ static const PyMethodDef mpcrt_pymethods[] = {
 };
 
 static const PyTypeObject mpcrt_pytype_skel = {
-  PyObject_HEAD_INIT(0) 0,             /* Header */
+  PyVarObject_HEAD_INIT(0, 0)          /* Header */
   "MPCRT",                             /* @tp_name@ */
   sizeof(mpcrt_pyobj),                 /* @tp_basicsize@ */
   0,                                   /* @tp_itemsize@ */
@@ -2115,7 +2115,7 @@ static const PyNumberMethods gf_pynumber = {
 };
 
 static const PyTypeObject gf_pytype_skel = {
-  PyObject_HEAD_INIT(0) 0,             /* Header */
+  PyVarObject_HEAD_INIT(0, 0)          /* Header */
   "GF",                                        /* @tp_name@ */
   sizeof(mp_pyobj),                    /* @tp_basicsize@ */
   0,                                   /* @tp_itemsize@ */
@@ -2316,7 +2316,7 @@ static const PyMethodDef gfreduce_pymethods[] = {
 };
 
 static const PyTypeObject gfreduce_pytype_skel = {
-  PyObject_HEAD_INIT(0) 0,             /* Header */
+  PyVarObject_HEAD_INIT(0, 0)          /* Header */
   "GFReduce",                          /* @tp_name@ */
   sizeof(gfreduce_pyobj),              /* @tp_basicsize@ */
   0,                                   /* @tp_itemsize@ */
@@ -2454,7 +2454,7 @@ static const PyMethodDef gfn_pymethods[] = {
 };
 
 static const PyTypeObject gfn_pytype_skel = {
-  PyObject_HEAD_INIT(0) 0,             /* Header */
+  PyVarObject_HEAD_INIT(0, 0)          /* Header */
   "GFN",                               /* @tp_name@ */
   sizeof(gfn_pyobj),                   /* @tp_basicsize@ */
   0,                                   /* @tp_itemsize@ */
index 6720d65..49bc771 100644 (file)
@@ -128,7 +128,7 @@ static const PyMethodDef pixie_pymethods[] = {
 };
 
 static const PyTypeObject pixie_pytype_skel = {
-  PyObject_HEAD_INIT(0) 0,             /* Header */
+  PyVarObject_HEAD_INIT(0, 0)          /* Header */
   "Pixie",                             /* @tp_name@ */
   sizeof(pixie_pyobj),                 /* @tp_basicsize@ */
   0,                                   /* @tp_itemsize@ */
diff --git a/pgen.c b/pgen.c
index 291d289..5c8592f 100644 (file)
--- a/pgen.c
+++ b/pgen.c
@@ -196,7 +196,7 @@ static const PyNumberMethods pfilt_pynumber = {
 };
 
 static const PyTypeObject pfilt_pytype_skel = {
-  PyObject_HEAD_INIT(0) 0,             /* Header */
+  PyVarObject_HEAD_INIT(0, 0)          /* Header */
   "PrimeFilter",                       /* @tp_name@ */
   sizeof(pfilt_pyobj),                 /* @tp_basicsize@ */
   0,                                   /* @tp_itemsize@ */
@@ -330,7 +330,7 @@ static const PyMethodDef rabin_pymethods[] = {
 };
 
 static const PyTypeObject rabin_pytype_skel = {
-  PyObject_HEAD_INIT(0) 0,             /* Header */
+  PyVarObject_HEAD_INIT(0, 0)          /* Header */
   "RabinMiller",                       /* @tp_name@ */
   sizeof(rabin_pyobj),                 /* @tp_basicsize@ */
   0,                                   /* @tp_itemsize@ */
@@ -467,7 +467,7 @@ static const PyGetSetDef pgevent_pygetset[] = {
 };
 
 static const PyTypeObject pgevent_pytype_skel = {
-  PyObject_HEAD_INIT(0) 0,             /* Header */
+  PyVarObject_HEAD_INIT(0, 0)          /* Header */
   "PrimeGenEvent",                     /* @tp_name@ */
   sizeof(pgevent_pyobj),               /* @tp_basicsize@ */
   0,                                   /* @tp_itemsize@ */
@@ -646,7 +646,7 @@ static const PyMethodDef pgev_pymethods[] = {
 };
 
 static const PyTypeObject pgev_pytype_skel = {
-  PyObject_HEAD_INIT(0) 0,             /* Header */
+  PyVarObject_HEAD_INIT(0, 0)          /* Header */
   "PrimeGenBuiltinHandler",            /* @tp_name@ */
   sizeof(pgev_pyobj),                  /* @tp_basicsize@ */
   0,                                   /* @tp_itemsize@ */
@@ -720,7 +720,7 @@ static const PyGetSetDef pgstep_pygetset[] = {
 };
 
 static const PyTypeObject pgstep_pytype_skel = {
-  PyObject_HEAD_INIT(0) 0,             /* Header */
+  PyVarObject_HEAD_INIT(0, 0)          /* Header */
   "PrimeGenStepper",                   /* @tp_name@ */
   sizeof(pgstep_pyobj),                        /* @tp_basicsize@ */
   0,                                   /* @tp_itemsize@ */
@@ -802,7 +802,7 @@ static const PyGetSetDef pgjump_pygetset[] = {
 };
 
 static const PyTypeObject pgjump_pytype_skel = {
-  PyObject_HEAD_INIT(0) 0,             /* Header */
+  PyVarObject_HEAD_INIT(0, 0)          /* Header */
   "PrimeGenJumper",                    /* @tp_name@ */
   sizeof(pgjump_pyobj),                        /* @tp_basicsize@ */
   0,                                   /* @tp_itemsize@ */
@@ -864,7 +864,7 @@ end:
 }
 
 static const PyTypeObject pgtest_pytype_skel = {
-  PyObject_HEAD_INIT(0) 0,             /* Header */
+  PyVarObject_HEAD_INIT(0, 0)          /* Header */
   "PrimeGenTester",                    /* @tp_name@ */
   sizeof(pgtest_pyobj),                        /* @tp_basicsize@ */
   0,                                   /* @tp_itemsize@ */
index b1d32a5..2b0b29e 100644 (file)
--- a/pubkey.c
+++ b/pubkey.c
@@ -219,7 +219,7 @@ static const PyMemberDef dsapriv_pymembers[] = {
 };
 
 static const PyTypeObject dsapub_pytype_skel = {
-  PyObject_HEAD_INIT(0) 0,             /* Header */
+  PyVarObject_HEAD_INIT(0, 0)          /* Header */
   "DSAPub",                            /* @tp_name@ */
   sizeof(dsa_pyobj),                   /* @tp_basicsize@ */
   0,                                   /* @tp_itemsize@ */
@@ -267,7 +267,7 @@ static const PyTypeObject dsapub_pytype_skel = {
 };
 
 static const PyTypeObject dsapriv_pytype_skel = {
-  PyObject_HEAD_INIT(0) 0,             /* Header */
+  PyVarObject_HEAD_INIT(0, 0)          /* Header */
   "DSAPriv",                           /* @tp_name@ */
   sizeof(dsa_pyobj),                   /* @tp_basicsize@ */
   0,                                   /* @tp_itemsize@ */
@@ -437,7 +437,7 @@ static const PyMethodDef kcdsapriv_pymethods[] = {
 };
 
 static const PyTypeObject kcdsapub_pytype_skel = {
-  PyObject_HEAD_INIT(0) 0,             /* Header */
+  PyVarObject_HEAD_INIT(0, 0)          /* Header */
   "KCDSAPub",                          /* @tp_name@ */
   sizeof(dsa_pyobj),                   /* @tp_basicsize@ */
   0,                                   /* @tp_itemsize@ */
@@ -485,7 +485,7 @@ static const PyTypeObject kcdsapub_pytype_skel = {
 };
 
 static const PyTypeObject kcdsapriv_pytype_skel = {
-  PyObject_HEAD_INIT(0) 0,             /* Header */
+  PyVarObject_HEAD_INIT(0, 0)          /* Header */
   "KCDSAPriv",                         /* @tp_name@ */
   sizeof(dsa_pyobj),                   /* @tp_basicsize@ */
   0,                                   /* @tp_itemsize@ */
@@ -788,7 +788,7 @@ static const PyMethodDef rsapriv_pymethods[] = {
 };
 
 static const PyTypeObject rsapub_pytype_skel = {
-  PyObject_HEAD_INIT(0) 0,             /* Header */
+  PyVarObject_HEAD_INIT(0, 0)          /* Header */
   "RSAPub",                            /* @tp_name@ */
   sizeof(rsapub_pyobj),                        /* @tp_basicsize@ */
   0,                                   /* @tp_itemsize@ */
@@ -836,7 +836,7 @@ static const PyTypeObject rsapub_pytype_skel = {
 };
 
 static const PyTypeObject rsapriv_pytype_skel = {
-  PyObject_HEAD_INIT(0) 0,             /* Header */
+  PyVarObject_HEAD_INIT(0, 0)          /* Header */
   "RSAPriv",                           /* @tp_name@ */
   sizeof(rsapriv_pyobj),               /* @tp_basicsize@ */
   0,                                   /* @tp_itemsize@ */
index 4a0d412..04616e1 100644 (file)
@@ -90,7 +90,7 @@ static PyObject *keyiter_pynext(PyObject *me)
 }
 
 static const PyTypeObject keyiter_pytype_skel = {
-  PyObject_HEAD_INIT(0) 0,             /* Header */
+  PyVarObject_HEAD_INIT(0, 0)          /* Header */
   "_KeyIter",                          /* @tp_name@ */
   sizeof(iter_pyobj),                  /* @tp_basicsize@ */
   0,                                   /* @tp_itemsize@ */
@@ -148,7 +148,7 @@ static PyObject *valiter_pynext(PyObject *me)
 }
 
 static const PyTypeObject valiter_pytype_skel = {
-  PyObject_HEAD_INIT(0) 0,             /* Header */
+  PyVarObject_HEAD_INIT(0, 0)          /* Header */
   "_ValueIter",                                /* @tp_name@ */
   sizeof(iter_pyobj),                  /* @tp_basicsize@ */
   0,                                   /* @tp_itemsize@ */
@@ -210,7 +210,7 @@ static PyObject *itemiter_pynext(PyObject *me)
 }
 
 static const PyTypeObject itemiter_pytype_skel = {
-  PyObject_HEAD_INIT(0) 0,             /* Header */
+  PyVarObject_HEAD_INIT(0, 0)          /* Header */
   "_ItemIter",                         /* @tp_name@ */
   sizeof(iter_pyobj),                  /* @tp_basicsize@ */
   0,                                   /* @tp_itemsize@ */
index e6d465e..b6a5d8d 100644 (file)
@@ -74,6 +74,14 @@ PRIVATE_SYMBOLS;
 #  define Py_SIZE(obj) (((PyVarObject *)(obj))->ob_size)
 #endif
 
+/* Python 3 added internal structure to the various object headers, and
+ * defined a new macro `PyVarObject_HEAD_INIT' to initialize variable-length
+ * static instances correctly.  Define it if it's not already here.
+ */
+#ifndef PyVarObject_HEAD_INIT
+#  define PyVarObject_HEAD_INIT(super, sz) PyObject_HEAD_INIT(super) sz,
+#endif
+
 /*----- Utilities for returning values and exceptions ---------------------*/
 
 /* Returning values. */
diff --git a/rand.c b/rand.c
index 137be5c..6e5087c 100644 (file)
--- a/rand.c
+++ b/rand.c
@@ -284,7 +284,7 @@ static const PyMethodDef grand_pymethods[] = {
 };
 
 static const PyTypeObject grand_pytype_skel = {
-  PyObject_HEAD_INIT(0) 0,             /* Header */
+  PyVarObject_HEAD_INIT(0, 0)          /* Header */
   "GRand",                             /* @tp_name@ */
   sizeof(grand_pyobj),                 /* @tp_basicsize@ */
   0,                                   /* @tp_itemsize@ */
@@ -341,7 +341,7 @@ static PyObject *lcrand_pynew(PyTypeObject *me, PyObject *arg, PyObject *kw)
 }
 
 static const PyTypeObject lcrand_pytype_skel = {
-  PyObject_HEAD_INIT(0) 0,             /* Header */
+  PyVarObject_HEAD_INIT(0, 0)          /* Header */
   "LCRand",                            /* @tp_name@ */
   sizeof(grand_pyobj),                 /* @tp_basicsize@ */
   0,                                   /* @tp_itemsize@ */
@@ -398,7 +398,7 @@ static PyObject *fibrand_pynew(PyTypeObject *me, PyObject *arg, PyObject *kw)
 }
 
 static const PyTypeObject fibrand_pytype_skel = {
-  PyObject_HEAD_INIT(0) 0,             /* Header */
+  PyVarObject_HEAD_INIT(0, 0)          /* Header */
   "FibRand",                           /* @tp_name@ */
   sizeof(grand_pyobj),                 /* @tp_basicsize@ */
   0,                                   /* @tp_itemsize@ */
@@ -528,7 +528,7 @@ static const PyGetSetDef truerand_pygetset[] = {
 };
 
 static const PyTypeObject truerand_pytype_skel = {
-  PyObject_HEAD_INIT(0) 0,             /* Header */
+  PyVarObject_HEAD_INIT(0, 0)          /* Header */
   "TrueRand",                          /* @tp_name@ */
   sizeof(grand_pyobj),                 /* @tp_basicsize@ */
   0,                                   /* @tp_itemsize@ */
@@ -776,7 +776,7 @@ static const PyMethodDef gclatinrand_pymethods[] = {
 };
 
 static const PyTypeObject gccrand_pytype_skel = {
-  PyObject_HEAD_INIT(0) 0,             /* Header */
+  PyVarObject_HEAD_INIT(0, 0)          /* Header */
   "GCCRand",                           /* @tp_name@ */
   sizeof(gccrand_pyobj),               /* @tp_basicsize@ */
   0,                                   /* @tp_itemsize@ */
@@ -824,7 +824,7 @@ static const PyTypeObject gccrand_pytype_skel = {
 };
 
 static const PyTypeObject gcrand_pytype_skel = {
-  PyObject_HEAD_INIT(0) 0,             /* Header */
+  PyVarObject_HEAD_INIT(0, 0)          /* Header */
   "GCRand",                            /* @tp_name@ */
   sizeof(grand_pyobj),                 /* @tp_basicsize@ */
   0,                                   /* @tp_itemsize@ */
@@ -872,7 +872,7 @@ static const PyTypeObject gcrand_pytype_skel = {
 };
 
 static const PyTypeObject gclatinrand_pytype_skel = {
-  PyObject_HEAD_INIT(0) 0,             /* Header */
+  PyVarObject_HEAD_INIT(0, 0)          /* Header */
   "GCLatinRand",                       /* @tp_name@ */
   sizeof(grand_pyobj),                 /* @tp_basicsize@ */
   0,                                   /* @tp_itemsize@ */
@@ -973,7 +973,7 @@ end:
 }
 
 static const PyTypeObject sslprf_pytype_skel = {
-  PyObject_HEAD_INIT(0) 0,             /* Header */
+  PyVarObject_HEAD_INIT(0, 0)          /* Header */
   "SSLRand",                           /* @tp_name@ */
   sizeof(grand_pyobj),                 /* @tp_basicsize@ */
   0,                                   /* @tp_itemsize@ */
@@ -1022,7 +1022,7 @@ static const PyTypeObject sslprf_pytype_skel = {
 };
 
 static const PyTypeObject tlsdx_pytype_skel = {
-  PyObject_HEAD_INIT(0) 0,             /* Header */
+  PyVarObject_HEAD_INIT(0, 0)          /* Header */
   "TLSDataExpansion",                  /* @tp_name@ */
   sizeof(grand_pyobj),                 /* @tp_basicsize@ */
   0,                                   /* @tp_itemsize@ */
@@ -1071,7 +1071,7 @@ static const PyTypeObject tlsdx_pytype_skel = {
 };
 
 static const PyTypeObject tlsprf_pytype_skel = {
-  PyObject_HEAD_INIT(0) 0,             /* Header */
+  PyVarObject_HEAD_INIT(0, 0)          /* Header */
   "TLSPRF",                            /* @tp_name@ */
   sizeof(grand_pyobj),                 /* @tp_basicsize@ */
   0,                                   /* @tp_itemsize@ */
@@ -1152,7 +1152,7 @@ static const PyGetSetDef dsarand_pygetset[] = {
 };
 
 static const PyTypeObject dsarand_pytype_skel = {
-  PyObject_HEAD_INIT(0) 0,             /* Header */
+  PyVarObject_HEAD_INIT(0, 0)          /* Header */
   "DSARand",                           /* @tp_name@ */
   sizeof(grand_pyobj),                 /* @tp_basicsize@ */
   0,                                   /* @tp_itemsize@ */
@@ -1278,7 +1278,7 @@ static const PyGetSetDef bbs_pygetset[] = {
 };
 
 static const PyTypeObject bbs_pytype_skel = {
-  PyObject_HEAD_INIT(0) 0,             /* Header */
+  PyVarObject_HEAD_INIT(0, 0)          /* Header */
   "BlumBlumShub",                      /* @tp_name@ */
   sizeof(grand_pyobj),                 /* @tp_basicsize@ */
   0,                                   /* @tp_itemsize@ */
@@ -1440,7 +1440,7 @@ static const PyGetSetDef bbspriv_pygetset[] = {
 };
 
 static const PyTypeObject bbspriv_pytype_skel = {
-  PyObject_HEAD_INIT(0) 0,             /* Header */
+  PyVarObject_HEAD_INIT(0, 0)          /* Header */
   "BBSPriv",                           /* @tp_name@ */
   sizeof(bbspriv_pyobj),               /* @tp_basicsize@ */
   0,                                   /* @tp_itemsize@ */
diff --git a/share.c b/share.c
index 8c58d23..3248f78 100644 (file)
--- a/share.c
+++ b/share.c
@@ -62,7 +62,7 @@ static const PyGetSetDef gfshare_pygetset[]= {
 };
 
 static const PyTypeObject gfshare_pytype_skel = {
-  PyObject_HEAD_INIT(&PyType_Type) 0,  /* Header */
+  PyVarObject_HEAD_INIT(0, 0)          /* Header */
   "GFShare",                           /* @tp_name@ */
   sizeof(gfshare_pyobj),               /* @tp_basicsize@ */
   0,                                   /* @tp_itemsize@ */
@@ -150,7 +150,7 @@ static const PyMethodDef gfsharesplit_pymethods[] = {
 };
 
 static const PyTypeObject gfsharesplit_pytype_skel = {
-  PyObject_HEAD_INIT(&PyType_Type) 0,  /* Header */
+  PyVarObject_HEAD_INIT(0, 0)          /* Header */
   "GFShareSplit",                      /* @tp_name@ */
   sizeof(gfshare_pyobj),               /* @tp_basicsize@ */
   0,                                   /* @tp_itemsize@ */
@@ -271,7 +271,7 @@ static const PyGetSetDef gfsharejoin_pygetset[]= {
 };
 
 static const PyTypeObject gfsharejoin_pytype_skel = {
-  PyObject_HEAD_INIT(&PyType_Type) 0,  /* Header */
+  PyVarObject_HEAD_INIT(0, 0)          /* Header */
   "GFShareJoin",                       /* @tp_name@ */
   sizeof(gfshare_pyobj),               /* @tp_basicsize@ */
   0,                                   /* @tp_itemsize@ */
@@ -353,7 +353,7 @@ static const PyGetSetDef share_pygetset[]= {
 };
 
 static const PyTypeObject share_pytype_skel = {
-  PyObject_HEAD_INIT(&PyType_Type) 0,  /* Header */
+  PyVarObject_HEAD_INIT(0, 0)          /* Header */
   "Share",                             /* @tp_name@ */
   sizeof(share_pyobj),                 /* @tp_basicsize@ */
   0,                                   /* @tp_itemsize@ */
@@ -446,7 +446,7 @@ static const PyMethodDef sharesplit_pymethods[] = {
 };
 
 static const PyTypeObject sharesplit_pytype_skel = {
-  PyObject_HEAD_INIT(&PyType_Type) 0,  /* Header */
+  PyVarObject_HEAD_INIT(0, 0)          /* Header */
   "ShareSplit",                                /* @tp_name@ */
   sizeof(share_pyobj),                 /* @tp_basicsize@ */
   0,                                   /* @tp_itemsize@ */
@@ -569,7 +569,7 @@ static const PyGetSetDef sharejoin_pygetset[]= {
 };
 
 static const PyTypeObject sharejoin_pytype_skel = {
-  PyObject_HEAD_INIT(&PyType_Type) 0,  /* Header */
+  PyVarObject_HEAD_INIT(0, 0)          /* Header */
   "ShareJoin",                         /* @tp_name@ */
   sizeof(share_pyobj),                 /* @tp_basicsize@ */
   0,                                   /* @tp_itemsize@ */