Staging
v0.5.1
https://github.com/python/cpython
Revision 3249dec02484674830177488c8f01d8d04873928 authored by Victor Stinner on 01 May 2011, 21:19:15 UTC, committed by Victor Stinner on 01 May 2011, 21:19:15 UTC
check of the object type doesn't read the __class__ attribute anymore.  Fix a
crash if a class override its __class__ attribute (e.g. a proxy of the str
type).
1 parent 9c4f09d
Raw File
Tip revision: 3249dec02484674830177488c8f01d8d04873928 authored by Victor Stinner on 01 May 2011, 21:19:15 UTC
Issue #9756: When calling a method descriptor or a slot wrapper descriptor, the
Tip revision: 3249dec
importdl.h
#ifndef Py_IMPORTDL_H
#define Py_IMPORTDL_H

#ifdef __cplusplus
extern "C" {
#endif


/* Definitions for dynamic loading of extension modules */
enum filetype {
    SEARCH_ERROR,
    PY_SOURCE,
    PY_COMPILED,
    C_EXTENSION,
    PY_RESOURCE, /* Mac only */
    PKG_DIRECTORY,
    C_BUILTIN,
    PY_FROZEN,
    PY_CODERESOURCE, /* Mac only */
    IMP_HOOK
};

struct filedescr {
    char *suffix;
    char *mode;
    enum filetype type;
};
extern struct filedescr * _PyImport_Filetab;
extern const struct filedescr _PyImport_DynLoadFiletab[];

extern PyObject *_PyImport_LoadDynamicModule(char *name, char *pathname,
                                             FILE *);

/* Max length of module suffix searched for -- accommodates "module.slb" */
#define MAXSUFFIXSIZE 12

#ifdef MS_WINDOWS
#include <windows.h>
typedef FARPROC dl_funcptr;
#else
#if defined(PYOS_OS2) && !defined(PYCC_GCC)
#include <os2def.h>
typedef int (* APIENTRY dl_funcptr)();
#else
typedef void (*dl_funcptr)(void);
#endif
#endif


#ifdef __cplusplus
}
#endif
#endif /* !Py_IMPORTDL_H */
back to top