Staging
v0.5.1
v0.5.1
https://github.com/python/cpython
Revision b855216099771117388fdf38df80e5214e812955 authored by Guido van Rossum on 05 September 2001, 14:58:11 UTC, committed by Guido van Rossum on 05 September 2001, 14:58:11 UTC
I believe this works on Linux (tested both on a system with large file support and one without it), and it may work on Solaris 2.7. The changes are twofold: (1) The configure script now boldly tries to set the two symbols that are recommended (for Solaris and Linux), and then tries a test script that does some simple seeking without writing. (2) The _portable_{fseek,ftell} functions are a little more systematic in how they try the different large file support options: first try fseeko/ftello, but only if off_t is large; then try fseek64/ftell64; then try hacking with fgetpos/fsetpos. I'm keeping my fingers crossed. The meaning of the HAVE_LARGEFILE_SUPPORT macro is not at all clear. I'll see if I can get it to work on Windows as well.
1 parent 2f0047a
Tip revision: b855216099771117388fdf38df80e5214e812955 authored by Guido van Rossum on 05 September 2001, 14:58:11 UTC
Changes to automatically enable large file support on some systems.
Changes to automatically enable large file support on some systems.
Tip revision: b855216
import.h
/* Module definition and import interface */
#ifndef Py_IMPORT_H
#define Py_IMPORT_H
#ifdef __cplusplus
extern "C" {
#endif
DL_IMPORT(long) PyImport_GetMagicNumber(void);
DL_IMPORT(PyObject *) PyImport_ExecCodeModule(char *name, PyObject *co);
DL_IMPORT(PyObject *) PyImport_ExecCodeModuleEx(
char *name, PyObject *co, char *pathname);
DL_IMPORT(PyObject *) PyImport_GetModuleDict(void);
DL_IMPORT(PyObject *) PyImport_AddModule(char *name);
DL_IMPORT(PyObject *) PyImport_ImportModule(char *name);
DL_IMPORT(PyObject *) PyImport_ImportModuleEx(
char *name, PyObject *globals, PyObject *locals, PyObject *fromlist);
DL_IMPORT(PyObject *) PyImport_Import(PyObject *name);
DL_IMPORT(PyObject *) PyImport_ReloadModule(PyObject *m);
DL_IMPORT(void) PyImport_Cleanup(void);
DL_IMPORT(int) PyImport_ImportFrozenModule(char *);
extern DL_IMPORT(PyObject *)_PyImport_FindExtension(char *, char *);
extern DL_IMPORT(PyObject *)_PyImport_FixupExtension(char *, char *);
struct _inittab {
char *name;
void (*initfunc)(void);
};
extern DL_IMPORT(struct _inittab *) PyImport_Inittab;
extern DL_IMPORT(int) PyImport_AppendInittab(char *name, void (*initfunc)(void));
extern DL_IMPORT(int) PyImport_ExtendInittab(struct _inittab *newtab);
struct _frozen {
char *name;
unsigned char *code;
int size;
};
/* Embedding apps may change this pointer to point to their favorite
collection of frozen modules: */
extern DL_IMPORT(struct _frozen *) PyImport_FrozenModules;
#ifdef __cplusplus
}
#endif
#endif /* !Py_IMPORT_H */
![swh spinner](/static/img/swh-spinner.gif)
Computing file changes ...