closes bpo-32460: ensure all non-static globals have initializers (#5061)
This commit is contained in:
parent
6c6d3a4608
commit
0a37a30037
|
@ -116,10 +116,10 @@ bytes(cdata)
|
|||
#endif
|
||||
#include "ctypes.h"
|
||||
|
||||
PyObject *PyExc_ArgError;
|
||||
PyObject *PyExc_ArgError = NULL;
|
||||
|
||||
/* This dict maps ctypes types to POINTER types */
|
||||
PyObject *_ctypes_ptrtype_cache;
|
||||
PyObject *_ctypes_ptrtype_cache = NULL;
|
||||
|
||||
static PyTypeObject Simple_Type;
|
||||
|
||||
|
|
|
@ -63,7 +63,7 @@ typedef struct {
|
|||
} TestReg;
|
||||
|
||||
|
||||
EXPORT(TestReg) last_tfrsuv_arg;
|
||||
EXPORT(TestReg) last_tfrsuv_arg = {0};
|
||||
|
||||
|
||||
EXPORT(void)
|
||||
|
@ -410,8 +410,8 @@ EXPORT(void) _py_func(void)
|
|||
{
|
||||
}
|
||||
|
||||
EXPORT(long long) last_tf_arg_s;
|
||||
EXPORT(unsigned long long) last_tf_arg_u;
|
||||
EXPORT(long long) last_tf_arg_s = 0;
|
||||
EXPORT(unsigned long long) last_tf_arg_u = 0;
|
||||
|
||||
struct BITS {
|
||||
int A: 1, B:2, C:3, D:4, E: 5, F: 6, G: 7, H: 8, I: 9;
|
||||
|
|
|
@ -26,33 +26,33 @@
|
|||
|
||||
/* Various interned strings */
|
||||
|
||||
PyObject *_PyIO_str_close;
|
||||
PyObject *_PyIO_str_closed;
|
||||
PyObject *_PyIO_str_decode;
|
||||
PyObject *_PyIO_str_encode;
|
||||
PyObject *_PyIO_str_fileno;
|
||||
PyObject *_PyIO_str_flush;
|
||||
PyObject *_PyIO_str_getstate;
|
||||
PyObject *_PyIO_str_isatty;
|
||||
PyObject *_PyIO_str_newlines;
|
||||
PyObject *_PyIO_str_nl;
|
||||
PyObject *_PyIO_str_read;
|
||||
PyObject *_PyIO_str_read1;
|
||||
PyObject *_PyIO_str_readable;
|
||||
PyObject *_PyIO_str_readall;
|
||||
PyObject *_PyIO_str_readinto;
|
||||
PyObject *_PyIO_str_readline;
|
||||
PyObject *_PyIO_str_reset;
|
||||
PyObject *_PyIO_str_seek;
|
||||
PyObject *_PyIO_str_seekable;
|
||||
PyObject *_PyIO_str_setstate;
|
||||
PyObject *_PyIO_str_tell;
|
||||
PyObject *_PyIO_str_truncate;
|
||||
PyObject *_PyIO_str_writable;
|
||||
PyObject *_PyIO_str_write;
|
||||
PyObject *_PyIO_str_close = NULL;
|
||||
PyObject *_PyIO_str_closed = NULL;
|
||||
PyObject *_PyIO_str_decode = NULL;
|
||||
PyObject *_PyIO_str_encode = NULL;
|
||||
PyObject *_PyIO_str_fileno = NULL;
|
||||
PyObject *_PyIO_str_flush = NULL;
|
||||
PyObject *_PyIO_str_getstate = NULL;
|
||||
PyObject *_PyIO_str_isatty = NULL;
|
||||
PyObject *_PyIO_str_newlines = NULL;
|
||||
PyObject *_PyIO_str_nl = NULL;
|
||||
PyObject *_PyIO_str_read = NULL;
|
||||
PyObject *_PyIO_str_read1 = NULL;
|
||||
PyObject *_PyIO_str_readable = NULL;
|
||||
PyObject *_PyIO_str_readall = NULL;
|
||||
PyObject *_PyIO_str_readinto = NULL;
|
||||
PyObject *_PyIO_str_readline = NULL;
|
||||
PyObject *_PyIO_str_reset = NULL;
|
||||
PyObject *_PyIO_str_seek = NULL;
|
||||
PyObject *_PyIO_str_seekable = NULL;
|
||||
PyObject *_PyIO_str_setstate = NULL;
|
||||
PyObject *_PyIO_str_tell = NULL;
|
||||
PyObject *_PyIO_str_truncate = NULL;
|
||||
PyObject *_PyIO_str_writable = NULL;
|
||||
PyObject *_PyIO_str_write = NULL;
|
||||
|
||||
PyObject *_PyIO_empty_str;
|
||||
PyObject *_PyIO_empty_bytes;
|
||||
PyObject *_PyIO_empty_str = NULL;
|
||||
PyObject *_PyIO_empty_bytes = NULL;
|
||||
|
||||
PyDoc_STRVAR(module_doc,
|
||||
"The io module provides the Python interfaces to stream handling. The\n"
|
||||
|
|
|
@ -33,7 +33,7 @@
|
|||
|
||||
/** the adapters registry **/
|
||||
|
||||
PyObject *psyco_adapters;
|
||||
static PyObject *psyco_adapters = NULL;
|
||||
|
||||
/* pysqlite_microprotocols_init - initialize the adapters dictionary */
|
||||
|
||||
|
|
|
@ -28,10 +28,6 @@
|
|||
|
||||
#include <Python.h>
|
||||
|
||||
/** adapters registry **/
|
||||
|
||||
extern PyObject *psyco_adapters;
|
||||
|
||||
/** the names of the three mandatory methods **/
|
||||
|
||||
#define MICROPROTOCOLS_GETQUOTED_NAME "getquoted"
|
||||
|
|
|
@ -35,13 +35,20 @@
|
|||
|
||||
/* static objects at module-level */
|
||||
|
||||
PyObject* pysqlite_Error, *pysqlite_Warning, *pysqlite_InterfaceError, *pysqlite_DatabaseError,
|
||||
*pysqlite_InternalError, *pysqlite_OperationalError, *pysqlite_ProgrammingError,
|
||||
*pysqlite_IntegrityError, *pysqlite_DataError, *pysqlite_NotSupportedError;
|
||||
PyObject *pysqlite_Error = NULL;
|
||||
PyObject *pysqlite_Warning = NULL;
|
||||
PyObject *pysqlite_InterfaceError = NULL;
|
||||
PyObject *pysqlite_DatabaseError = NULL;
|
||||
PyObject *pysqlite_InternalError = NULL;
|
||||
PyObject *pysqlite_OperationalError = NULL;
|
||||
PyObject *pysqlite_ProgrammingError = NULL;
|
||||
PyObject *pysqlite_IntegrityError = NULL;
|
||||
PyObject *pysqlite_DataError = NULL;
|
||||
PyObject *pysqlite_NotSupportedError = NULL;
|
||||
|
||||
PyObject* converters;
|
||||
int _enable_callback_tracebacks;
|
||||
int pysqlite_BaseTypeAdapted;
|
||||
PyObject* converters = NULL;
|
||||
int _enable_callback_tracebacks = 0;
|
||||
int pysqlite_BaseTypeAdapted = 0;
|
||||
|
||||
static PyObject* module_connect(PyObject* self, PyObject* args, PyObject*
|
||||
kwargs)
|
||||
|
@ -461,10 +468,6 @@ PyMODINIT_FUNC PyInit__sqlite3(void)
|
|||
/* initialize the default converters */
|
||||
converters_init(dict);
|
||||
|
||||
_enable_callback_tracebacks = 0;
|
||||
|
||||
pysqlite_BaseTypeAdapted = 0;
|
||||
|
||||
error:
|
||||
if (PyErr_Occurred())
|
||||
{
|
||||
|
|
|
@ -17,7 +17,7 @@
|
|||
#endif /* MS_WINDOWS */
|
||||
|
||||
|
||||
PyThreadState* _PyOS_ReadlineTState;
|
||||
PyThreadState* _PyOS_ReadlineTState = NULL;
|
||||
|
||||
#include "pythread.h"
|
||||
static PyThread_type_lock _PyOS_ReadlineLock = NULL;
|
||||
|
@ -284,7 +284,7 @@ PyOS_StdioReadline(FILE *sys_stdin, FILE *sys_stdout, const char *prompt)
|
|||
|
||||
Note: Python expects in return a buffer allocated with PyMem_Malloc. */
|
||||
|
||||
char *(*PyOS_ReadlineFunctionPointer)(FILE *, FILE *, const char *);
|
||||
char *(*PyOS_ReadlineFunctionPointer)(FILE *, FILE *, const char *) = NULL;
|
||||
|
||||
|
||||
/* Interface used by tokenizer.c and bltinmodule.c */
|
||||
|
|
|
@ -17,7 +17,7 @@
|
|||
extern "C" {
|
||||
#endif
|
||||
|
||||
_Py_HashSecret_t _Py_HashSecret;
|
||||
_Py_HashSecret_t _Py_HashSecret = {0};
|
||||
|
||||
#if Py_HASH_ALGORITHM == Py_HASH_EXTERNAL
|
||||
extern PyHash_FuncDef PyHash_Func;
|
||||
|
|
|
@ -108,17 +108,17 @@ _Py_IsFinalizing(void)
|
|||
|
||||
/* Global configuration variable declarations are in pydebug.h */
|
||||
/* XXX (ncoghlan): move those declarations to pylifecycle.h? */
|
||||
int Py_DebugFlag; /* Needed by parser.c */
|
||||
int Py_VerboseFlag; /* Needed by import.c */
|
||||
int Py_QuietFlag; /* Needed by sysmodule.c */
|
||||
int Py_InteractiveFlag; /* Needed by Py_FdIsInteractive() below */
|
||||
int Py_InspectFlag; /* Needed to determine whether to exit at SystemExit */
|
||||
int Py_DebugFlag = 0; /* Needed by parser.c */
|
||||
int Py_VerboseFlag = 0; /* Needed by import.c */
|
||||
int Py_QuietFlag = 0; /* Needed by sysmodule.c */
|
||||
int Py_InteractiveFlag = 0; /* Needed by Py_FdIsInteractive() below */
|
||||
int Py_InspectFlag = 0; /* Needed to determine whether to exit at SystemExit */
|
||||
int Py_OptimizeFlag = 0; /* Needed by compile.c */
|
||||
int Py_NoSiteFlag; /* Suppress 'import site' */
|
||||
int Py_BytesWarningFlag; /* Warn on str(bytes) and str(buffer) */
|
||||
int Py_FrozenFlag; /* Needed by getpath.c */
|
||||
int Py_IgnoreEnvironmentFlag; /* e.g. PYTHONPATH, PYTHONHOME */
|
||||
int Py_DontWriteBytecodeFlag; /* Suppress writing bytecode files (*.pyc) */
|
||||
int Py_NoSiteFlag = 0; /* Suppress 'import site' */
|
||||
int Py_BytesWarningFlag = 0; /* Warn on str(bytes) and str(buffer) */
|
||||
int Py_FrozenFlag = 0; /* Needed by getpath.c */
|
||||
int Py_IgnoreEnvironmentFlag = 0; /* e.g. PYTHONPATH, PYTHONHOME */
|
||||
int Py_DontWriteBytecodeFlag = 0; /* Suppress writing bytecode files (*.pyc) */
|
||||
int Py_NoUserSiteDirectory = 0; /* for -s and site.py */
|
||||
int Py_UnbufferedStdioFlag = 0; /* Unbuffered binary std{in,out,err} */
|
||||
int Py_HashRandomizationFlag = 0; /* for -R and PYTHONHASHSEED */
|
||||
|
|
Loading…
Reference in New Issue