mirror of https://github.com/python/cpython
added "magic" number to the _sre module, to avoid weird errors caused
by compiler/engine mismatches
This commit is contained in:
parent
142297ac92
commit
b35ffc0417
|
@ -12,6 +12,8 @@ import _sre
|
||||||
|
|
||||||
from sre_constants import *
|
from sre_constants import *
|
||||||
|
|
||||||
|
assert _sre.MAGIC == MAGIC, "SRE module mismatch"
|
||||||
|
|
||||||
MAXCODE = 65535
|
MAXCODE = 65535
|
||||||
|
|
||||||
def _compile(code, pattern, flags):
|
def _compile(code, pattern, flags):
|
||||||
|
|
|
@ -9,8 +9,15 @@
|
||||||
# See the sre.py file for information on usage and redistribution.
|
# See the sre.py file for information on usage and redistribution.
|
||||||
#
|
#
|
||||||
|
|
||||||
|
# update when constants are added or removed
|
||||||
|
|
||||||
|
MAGIC = 20010115
|
||||||
|
|
||||||
|
# max code word in this release
|
||||||
|
|
||||||
MAXREPEAT = 65535
|
MAXREPEAT = 65535
|
||||||
|
|
||||||
|
# SRE standard exception (access as sre.error)
|
||||||
# should this really be here?
|
# should this really be here?
|
||||||
|
|
||||||
class error(Exception):
|
class error(Exception):
|
||||||
|
@ -211,6 +218,8 @@ if __name__ == "__main__":
|
||||||
|
|
||||||
""")
|
""")
|
||||||
|
|
||||||
|
f.write("#define SRE_MAGIC %d\n" % MAGIC)
|
||||||
|
|
||||||
dump(f, OPCODES, "SRE_OP")
|
dump(f, OPCODES, "SRE_OP")
|
||||||
dump(f, ATCODES, "SRE")
|
dump(f, ATCODES, "SRE")
|
||||||
dump(f, CHCODES, "SRE")
|
dump(f, CHCODES, "SRE")
|
||||||
|
|
|
@ -2355,11 +2355,19 @@ __declspec(dllexport)
|
||||||
#endif
|
#endif
|
||||||
init_sre(void)
|
init_sre(void)
|
||||||
{
|
{
|
||||||
|
PyObject* m;
|
||||||
|
PyObject* d;
|
||||||
|
|
||||||
/* Patch object types */
|
/* Patch object types */
|
||||||
Pattern_Type.ob_type = Match_Type.ob_type =
|
Pattern_Type.ob_type = Match_Type.ob_type =
|
||||||
Scanner_Type.ob_type = &PyType_Type;
|
Scanner_Type.ob_type = &PyType_Type;
|
||||||
|
|
||||||
Py_InitModule("_" MODULE, _functions);
|
m = Py_InitModule("_" MODULE, _functions);
|
||||||
|
d = PyModule_GetDict(m);
|
||||||
|
|
||||||
|
PyDict_SetItemString(
|
||||||
|
d, "MAGIC", (PyObject*) PyInt_FromLong(SRE_MAGIC)
|
||||||
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
#endif /* !defined(SRE_RECURSIVE) */
|
#endif /* !defined(SRE_RECURSIVE) */
|
||||||
|
|
|
@ -11,6 +11,7 @@
|
||||||
* See the _sre.c file for information on usage and redistribution.
|
* See the _sre.c file for information on usage and redistribution.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
#define SRE_MAGIC 20010115
|
||||||
#define SRE_OP_FAILURE 0
|
#define SRE_OP_FAILURE 0
|
||||||
#define SRE_OP_SUCCESS 1
|
#define SRE_OP_SUCCESS 1
|
||||||
#define SRE_OP_ANY 2
|
#define SRE_OP_ANY 2
|
||||||
|
|
Loading…
Reference in New Issue