mirror of https://github.com/python/cpython
* config.c: different default PYTHONPATH for MS-DOS
* timemodule.c: change #ifdef TURBO_C into #ifdef MSDOS * posixmodule.c: MSDOS changes by Marcel van der Peijl (Digicash) * stropmodule.c: use C isspace(c) to test for whitespace; add whitespace, lowercase and uppercase variables to the module.
This commit is contained in:
parent
d05eb8b0fc
commit
e22e6442b7
|
@ -141,7 +141,7 @@ donecalls()
|
|||
|
||||
#ifdef MSDOS
|
||||
/* In MS-DOS, the delimiter is a semicolon */
|
||||
#define PYTHONPATH ".;C\\python\\lib"
|
||||
#define PYTHONPATH ".;..\\lib;\\python\\lib"
|
||||
#endif /* MSDOS */
|
||||
|
||||
#ifndef PYTHONPATH
|
||||
|
|
|
@ -32,6 +32,7 @@ OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
|
|||
#ifdef MSDOS
|
||||
#define NO_LSTAT
|
||||
#define NO_UNAME
|
||||
#include <dos.h>
|
||||
#endif
|
||||
|
||||
#ifdef __sgi
|
||||
|
@ -79,17 +80,19 @@ OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
|
|||
#include <unistd.h>
|
||||
#else /* _SEQUENT_ */
|
||||
/* XXX Aren't these always declared in unistd.h? */
|
||||
extern char *strerror PROTO((int));
|
||||
extern int chmod PROTO((const char *, mode_t));
|
||||
extern char *getcwd PROTO((char *, int)); /* XXX or size_t? */
|
||||
extern int mkdir PROTO((const char *, mode_t));
|
||||
extern int chdir PROTO((const char *));
|
||||
extern int rmdir PROTO((const char *));
|
||||
extern int chmod PROTO((const char *, mode_t));
|
||||
extern char *getcwd PROTO((char *, int)); /* XXX or size_t? */
|
||||
#if 0
|
||||
extern char *strerror PROTO((int));
|
||||
extern int link PROTO((const char *, const char *));
|
||||
extern int rename PROTO((const char *, const char *));
|
||||
extern int rmdir PROTO((const char *));
|
||||
extern int stat PROTO((const char *, struct stat *));
|
||||
extern int unlink PROTO((const char *));
|
||||
extern int pclose PROTO((FILE *));
|
||||
#endif
|
||||
#endif /* _SEQUENT_ */
|
||||
#ifdef NO_LSTAT
|
||||
#define lstat stat
|
||||
|
@ -279,7 +282,7 @@ posix_listdir(self, args)
|
|||
char *name;
|
||||
object *d, *v;
|
||||
|
||||
#ifdef MSDOS
|
||||
#ifdef TURBO_C
|
||||
struct ffblk ep;
|
||||
int rv;
|
||||
if (!getstrarg(args, &name))
|
||||
|
@ -304,7 +307,54 @@ posix_listdir(self, args)
|
|||
}
|
||||
DECREF(v);
|
||||
} while ((rv = findnext(&ep)) == 0);
|
||||
#else /* !MSDOS */
|
||||
#endif /* TURBO_C */
|
||||
#ifdef MSDOS
|
||||
struct find_t ep;
|
||||
int rv;
|
||||
char _name[100];
|
||||
int attrib;
|
||||
int num= 0;
|
||||
|
||||
if (!getstrarg(args, &name))
|
||||
return NULL;
|
||||
strcpy( _name, name );
|
||||
|
||||
again:
|
||||
if ((d = newlistobject(0)) == NULL)
|
||||
return NULL;
|
||||
|
||||
if( _name[strlen( _name )-1]=='/' )
|
||||
strcat( _name, "*.*" );
|
||||
|
||||
if (_dos_findfirst(_name, _A_NORMAL|_A_SUBDIR, &ep) == -1)
|
||||
return posix_error();
|
||||
attrib= ep.attrib;
|
||||
do {
|
||||
v = newstringobject(ep.name);
|
||||
if (v == NULL) {
|
||||
DECREF(d);
|
||||
d = NULL;
|
||||
break;
|
||||
}
|
||||
if (addlistitem(d, v) != 0) {
|
||||
DECREF(v);
|
||||
DECREF(d);
|
||||
d = NULL;
|
||||
break;
|
||||
}
|
||||
num++;
|
||||
DECREF(v);
|
||||
} while ((rv = _dos_findnext(&ep)) == 0);
|
||||
|
||||
if( attrib&_A_SUBDIR && num==1 )
|
||||
{
|
||||
DECREF( d );
|
||||
strcat( _name, "/*.*" );
|
||||
goto again;
|
||||
}
|
||||
|
||||
#endif /* MSDOS */
|
||||
#ifdef unix
|
||||
DIR *dirp;
|
||||
struct direct *ep;
|
||||
if (!getstrarg(args, &name))
|
||||
|
@ -336,7 +386,7 @@ posix_listdir(self, args)
|
|||
}
|
||||
closedir(dirp);
|
||||
END_SAVE
|
||||
#endif /* !MSDOS */
|
||||
#endif /* unix */
|
||||
|
||||
return d;
|
||||
}
|
||||
|
@ -1205,11 +1255,11 @@ getmtime(path)
|
|||
}
|
||||
|
||||
|
||||
#ifdef MSDOS
|
||||
#ifdef TURBO_C
|
||||
|
||||
/* A small "compatibility library" for TurboC under MS-DOS */
|
||||
|
||||
#include <sir.h>
|
||||
//#include <sir.h>
|
||||
#include <io.h>
|
||||
#include <dos.h>
|
||||
#include <fcntl.h>
|
||||
|
@ -1247,4 +1297,4 @@ utime(path, times)
|
|||
close(fh); /* close the temp handle */
|
||||
}
|
||||
|
||||
#endif /* MSDOS */
|
||||
#endif /* TURBO_C */
|
||||
|
|
|
@ -28,6 +28,8 @@ OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
|
|||
#include "modsupport.h"
|
||||
|
||||
#include <ctype.h>
|
||||
/* XXX This file assumes that the <ctype.h> is*() functions
|
||||
XXX are defined for all 8-bit characters! */
|
||||
|
||||
|
||||
static object *
|
||||
|
@ -365,8 +367,6 @@ static struct methodlist strop_methods[] = {
|
|||
};
|
||||
|
||||
|
||||
/* Initialization function for the module (*must* be called initstrop) */
|
||||
|
||||
void
|
||||
initstrop()
|
||||
{
|
||||
|
@ -375,12 +375,42 @@ initstrop()
|
|||
int c, n;
|
||||
m = initmodule("strop", strop_methods);
|
||||
d = getmoduledict(m);
|
||||
|
||||
/* Create 'whitespace' object */
|
||||
n = 0;
|
||||
for (c = 1; c < 256; c++) {
|
||||
if (isspace(c))
|
||||
buf[n++] = c;
|
||||
}
|
||||
if (s) {
|
||||
s = newsizedstringobject(buf, n);
|
||||
dictinsert(d, "whitespace", s);
|
||||
DECREF(s);
|
||||
}
|
||||
/* Create 'lowercase' object */
|
||||
n = 0;
|
||||
for (c = 1; c < 256; c++) {
|
||||
if (islower(c))
|
||||
buf[n++] = c;
|
||||
}
|
||||
s = newsizedstringobject(buf, n);
|
||||
dictinsert(d, "whitespace", s);
|
||||
DECREF(s);
|
||||
if (s) {
|
||||
dictinsert(d, "lowercase", s);
|
||||
DECREF(s);
|
||||
}
|
||||
|
||||
/* Create 'uppercase' object */
|
||||
n = 0;
|
||||
for (c = 1; c < 256; c++) {
|
||||
if (isupper(c))
|
||||
buf[n++] = c;
|
||||
}
|
||||
s = newsizedstringobject(buf, n);
|
||||
if (s) {
|
||||
dictinsert(d, "uppercase", s);
|
||||
DECREF(s);
|
||||
}
|
||||
|
||||
if (err_occurred())
|
||||
fatal("can't initialize module strop");
|
||||
}
|
||||
|
|
|
@ -174,7 +174,7 @@ extern long sys_milli();
|
|||
#define DO_MILLI
|
||||
#endif /* BSD_TIME */
|
||||
|
||||
#ifdef TURBO_C
|
||||
#ifdef MSDOS
|
||||
#define DO_MILLI
|
||||
#endif
|
||||
|
||||
|
@ -469,7 +469,7 @@ floatsleep(secs)
|
|||
#endif /* unix */
|
||||
|
||||
|
||||
#ifdef TURBO_C
|
||||
#ifdef MSDOS
|
||||
|
||||
#ifndef CLOCKS_PER_SEC
|
||||
#define CLOCKS_PER_SEC 55 /* 54.945 msec per tick (18.2 HZ clock) */
|
||||
|
@ -491,10 +491,6 @@ millitimer()
|
|||
return ticks * CLOCKS_PER_SEC;/* XXX shouldn't this be different? */
|
||||
}
|
||||
|
||||
#endif /* TURBO_C */
|
||||
|
||||
#ifdef MSDOS
|
||||
|
||||
floatsleep(secs)
|
||||
double secs;
|
||||
{
|
||||
|
@ -502,4 +498,5 @@ floatsleep(secs)
|
|||
while( (clock()-t)/CLOCKS_PER_SEC<secs )
|
||||
;
|
||||
}
|
||||
|
||||
#endif /* MSDOS */
|
||||
|
|
Loading…
Reference in New Issue