Skip to content
Projeler
Gruplar
Parçacıklar
Yardım
Yükleniyor...
Oturum aç / Kaydol
Gezinmeyi değiştir
C
cpython
Proje
Proje
Ayrıntılar
Etkinlik
Cycle Analytics
Depo (repository)
Depo (repository)
Dosyalar
Kayıtlar (commit)
Dallar (branch)
Etiketler
Katkıda bulunanlar
Grafik
Karşılaştır
Grafikler
Konular (issue)
0
Konular (issue)
0
Liste
Pano
Etiketler
Kilometre Taşları
Birleştirme (merge) Talepleri
0
Birleştirme (merge) Talepleri
0
CI / CD
CI / CD
İş akışları (pipeline)
İşler
Zamanlamalar
Grafikler
Paketler
Paketler
Wiki
Wiki
Parçacıklar
Parçacıklar
Üyeler
Üyeler
Collapse sidebar
Close sidebar
Etkinlik
Grafik
Grafikler
Yeni bir konu (issue) oluştur
İşler
Kayıtlar (commit)
Konu (issue) Panoları
Kenar çubuğunu aç
Batuhan Osman TASKAYA
cpython
Commits
ce9739ba
Kaydet (Commit)
ce9739ba
authored
Ock 05, 1994
tarafından
Guido van Rossum
Dosyalara gözat
Seçenekler
Dosyalara Gözat
İndir
Eposta Yamaları
Sade Fark
Initial revision
üst
718581a5
Hide whitespace changes
Inline
Side-by-side
Showing
5 changed files
with
720 additions
and
0 deletions
+720
-0
config.h
Mac/Include/config.h
+224
-0
config.c
Mac/Modules/config.c
+210
-0
macmodule.c
Mac/Modules/macmodule.c
+246
-0
macgetmtime.c
Mac/Python/macgetmtime.c
+13
-0
macguesstabsize.c
Mac/Python/macguesstabsize.c
+27
-0
No files found.
Mac/Include/config.h
0 → 100644
Dosyayı görüntüle @
ce9739ba
/* config.h.in. Generated automatically from configure.in by autoheader. */
/* Define if on Macintosh, compiling with THINK C. */
#define THINK_C
/* Define if on Macintosh, compiling with anyu C compiler. */
#define macintosh
/* Define if on AIX 3.
System headers sometimes define this.
We just want to avoid a redefinition error message. */
#ifndef _ALL_SOURCE
#undef _ALL_SOURCE
#endif
/* Define to empty if the keyword does not work. */
#undef const
/* Define if you have dirent.h. */
#undef DIRENT
/* Define to the type of elements in the array set by `getgroups'.
Usually this is either `int' or `gid_t'. */
#undef GETGROUPS_T
/* Define to `int' if <sys/types.h> doesn't define. */
#undef gid_t
/* Define if your struct tm has tm_zone. */
#undef HAVE_TM_ZONE
/* Define if you don't have tm_zone but do have the external array
tzname. */
#undef HAVE_TZNAME
/* Define if on MINIX. */
#undef _MINIX
/* Define to `int' if <sys/types.h> doesn't define. */
#undef mode_t
/* Define if you don't have dirent.h, but have ndir.h. */
#undef NDIR
/* Define to `long' if <sys/types.h> doesn't define. */
#undef off_t
/* Define to `int' if <sys/types.h> doesn't define. */
#undef pid_t
/* Define if the system does not provide POSIX.1 features except
with this defined. */
#undef _POSIX_1_SOURCE
/* Define if you need to in order for stat and other things to work. */
#undef _POSIX_SOURCE
/* Define as the return type of signal handlers (int or void). */
#define RETSIGTYPE void
/* Define to `unsigned' if <sys/types.h> doesn't define. */
#undef size_t
/* Define if you have the ANSI C header files. */
#define STDC_HEADERS
/* Define if you don't have dirent.h, but have sys/dir.h. */
#undef SYSDIR
/* Define if you don't have dirent.h, but have sys/ndir.h. */
#undef SYSNDIR
/* Define if you can safely include both <sys/time.h> and <time.h>. */
#undef TIME_WITH_SYS_TIME
/* Define if your <sys/time.h> declares struct tm. */
#undef TM_IN_SYS_TIME
/* Define to `int' if <sys/types.h> doesn't define. */
#undef uid_t
/* Define if the closedir function returns void instead of int. */
#undef VOID_CLOSEDIR
/* Define if your <unistd.h> contains bad prototypes for exec*()
(as it does on SGI IRIX 4.x) */
#undef BAD_EXEC_PROTOTYPES
/* Define if getpgrp() must be called as getpgrp(0)
and (consequently) setpgrp() as setpgrp(0, 0). */
#undef GETPGRP_HAVE_ARGS
/* Define if your compiler supports function prototypes */
#define HAVE_PROTOTYPES
/* Define if you can safely include both <sys/select.h> and <sys/time.h>
(which you can't on SCO ODT 3.0). */
#undef SYS_SELECT_WITH_SYS_TIME
/* Define if you want to compile in rudimentary thread support */
#undef WITH_THREAD
/* Define if you want to use the GNU readline library */
#undef WITH_READLINE
/* Define if you have clock. */
#define HAVE_CLOCK 1
/* Define if you have ftime. */
#undef HAVE_FTIME
/* Define if you have getpeername. */
#undef HAVE_GETPEERNAME
/* Define if you have getpgrp. */
#undef HAVE_GETPGRP
/* Define if you have gettimeofday. */
#undef HAVE_GETTIMEOFDAY
/* Define if you have getwd. */
#define HAVE_GETWD 1
/* Define if you have lstat. */
#undef HAVE_LSTAT
/* Define if you have readline. */
#undef HAVE_READLINE
/* Define if you have readlink. */
#undef HAVE_READLINK
/* Define if you have select. */
#undef HAVE_SELECT
/* Define if you have setpgid. */
#undef HAVE_SETPGID
/* Define if you have setpgrp. */
#undef HAVE_SETPGRP
/* Define if you have setsid. */
#undef HAVE_SETSID
/* Define if you have siginterrupt. */
#undef HAVE_SIGINTERRUPT
/* Define if you have symlink. */
#undef HAVE_SYMLINK
/* Define if you have tcgetpgrp. */
#undef HAVE_TCGETPGRP
/* Define if you have tcsetpgrp. */
#undef HAVE_TCSETPGRP
/* Define if you have times. */
#undef HAVE_TIMES
/* Define if you have uname. */
#undef HAVE_UNAME
/* Define if you have waitpid. */
#undef HAVE_WAITPID
/* Define if you have the <dlfcn.h> header file. */
#undef HAVE_DLFCN_H
/* Define if you have the <signal.h> header file. */
#define HAVE_SIGNAL_H 1
/* Define if you have the <stdarg.h> header file. */
#define HAVE_STDARG_H 1
/* Define if you have the <stdlib.h> header file. */
#define HAVE_STDLIB_H 1
/* Define if you have the <sys/audioio.h> header file. */
#undef HAVE_SYS_AUDIOIO_H
/* Define if you have the <sys/param.h> header file. */
#undef HAVE_SYS_PARAM_H
/* Define if you have the <sys/select.h> header file. */
#undef HAVE_SYS_SELECT_H
/* Define if you have the <sys/times.h> header file. */
#undef HAVE_SYS_TIMES_H
/* Define if you have the <sys/un.h> header file. */
#undef HAVE_SYS_UN_H
/* Define if you have the <sys/utsname.h> header file. */
#undef HAVE_SYS_UTSNAME_H
/* Define if you have the <thread.h> header file. */
#undef HAVE_THREAD_H
/* Define if you have the <unistd.h> header file. */
#undef HAVE_UNISTD_H
/* Define if you have the <utime.h> header file. */
#undef HAVE_UTIME_H
/* Define if you have the dl library (-ldl). */
#undef HAVE_LIBDL
/* Define if you have the mpc library (-lmpc). */
#undef HAVE_LIBMPC
/* Define if you have the nsl library (-lnsl). */
#undef HAVE_LIBNSL
/* Define if you have the seq library (-lseq). */
#undef HAVE_LIBSEQ
/* Define if you have the socket library (-lsocket). */
#undef HAVE_LIBSOCKET
/* Define if you have the sun library (-lsun). */
#undef HAVE_LIBSUN
/* Define if you have the thread library (-lthread). */
#undef HAVE_LIBTHREAD
Mac/Modules/config.c
0 → 100644
Dosyayı görüntüle @
ce9739ba
/***********************************************************
Copyright 1991, 1992, 1993 by Stichting Mathematisch Centrum,
Amsterdam, The Netherlands.
All Rights Reserved
Permission to use, copy, modify, and distribute this software and its
documentation for any purpose and without fee is hereby granted,
provided that the above copyright notice appear in all copies and that
both that copyright notice and this permission notice appear in
supporting documentation, and that the names of Stichting Mathematisch
Centrum or CWI not be used in advertising or publicity pertaining to
distribution of the software without specific, written prior permission.
STICHTING MATHEMATISCH CENTRUM DISCLAIMS ALL WARRANTIES WITH REGARD TO
THIS SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND
FITNESS, IN NO EVENT SHALL STICHTING MATHEMATISCH CENTRUM BE LIABLE
FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT
OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
******************************************************************/
/* Universal Python configuration file */
#ifdef HAVE_CONFIG_H
#include "config.h"
#endif
#include <stdio.h>
#include <string.h>
#include "myproto.h"
#include "mymalloc.h"
#include "osdefs.h"
#include "intrcheck.h"
#ifndef NO_MAIN
/* Normally, the main program is called from here (so everything else
can be in libPython.a). We save a pointer to argv[0] because it
may be needed for dynamic loading of modules in import.c. If you
have your own main program and want to use non-SunOS dynamic
loading, you will have to provide your own version of
getprogramname(). */
static
char
*
argv0
;
main
(
argc
,
argv
)
int
argc
;
char
**
argv
;
{
#ifdef macintosh
wargs
(
&
argc
,
&
argv
);
#endif
argv0
=
argv
[
0
];
realmain
(
argc
,
argv
);
}
char
*
getprogramname
()
{
return
argv0
;
}
#endif
/* Return the initial python search path. This is called once from
initsys() to initialize sys.path.
The environment variable PYTHONPATH is fetched and the default path
appended. (The Mac has no environment variables, so there the
default path is always returned.) The default path may be passed
to the preprocessor; if not, a system-dependent default is used. */
#ifndef PYTHONPATH
#ifdef macintosh
#define PYTHONPATH ": :Lib :Lib:stdwin :Demo"
#endif
/* macintosh */
#endif
/* !PYTHONPATH */
#ifndef PYTHONPATH
#ifdef MSDOS
#define PYTHONPATH ".;..\\lib;\\python\\lib"
#endif
/* MSDOS */
#endif
/* !PYTHONPATH */
#ifndef PYTHONPATH
#define PYTHONPATH ".:/usr/local/lib/python"
#endif
/* !PYTHONPATH */
extern
char
*
getenv
();
char
*
getpythonpath
()
{
#ifdef macintosh
return
PYTHONPATH
;
#else
/* !macintosh */
char
*
path
=
getenv
(
"PYTHONPATH"
);
char
*
defpath
=
PYTHONPATH
;
char
*
buf
;
char
*
p
;
int
n
;
if
(
path
==
0
||
*
path
==
'\0'
)
return
defpath
;
n
=
strlen
(
path
)
+
strlen
(
defpath
)
+
2
;
buf
=
malloc
(
n
);
if
(
buf
==
NULL
)
return
path
;
/* XXX too bad -- but not likely */
strcpy
(
buf
,
path
);
p
=
buf
+
strlen
(
buf
);
*
p
++
=
DELIM
;
strcpy
(
p
,
defpath
);
return
buf
;
#endif
/* !macintosh */
}
/* Table of built-in modules.
These are initialized when first imported.
Note: selection of optional extensions is now generally done by the
makesetup script. */
extern
void
initarray
();
extern
void
initmath
();
extern
void
initparser
();
extern
void
initmac
();
extern
void
initregex
();
extern
void
initstrop
();
extern
void
initstruct
();
extern
void
inittime
();
extern
void
initdbm
();
extern
void
initfcntl
();
extern
void
initnis
();
extern
void
initpwd
();
extern
void
initgrp
();
extern
void
initselect
();
extern
void
initsocket
();
extern
void
initaudioop
();
extern
void
initimageop
();
extern
void
initrgbimg
();
extern
void
initstdwin
();
extern
void
initmd5
();
extern
void
initmpz
();
extern
void
initrotor
();
extern
void
inital
();
extern
void
initcd
();
extern
void
initcl
();
extern
void
initfm
();
extern
void
initgl
();
extern
void
initimgfile
();
extern
void
initsgi
();
extern
void
initsv
();
extern
void
initfl
();
extern
void
initthread
();
extern
void
inittiming
();
/* -- ADDMODULE MARKER 1 -- */
extern
void
initmarshal
();
struct
{
char
*
name
;
void
(
*
initfunc
)();
}
inittab
[]
=
{
{
"array"
,
initarray
},
{
"math"
,
initmath
},
{
"parser"
,
initparser
},
{
"mac"
,
initmac
},
{
"regex"
,
initregex
},
{
"strop"
,
initstrop
},
{
"struct"
,
initstruct
},
{
"time"
,
inittime
},
{
"audioop"
,
initaudioop
},
{
"imageop"
,
initimageop
},
{
"rgbimg"
,
initrgbimg
},
{
"stdwin"
,
initstdwin
},
{
"md5"
,
initmd5
},
{
"rotor"
,
initrotor
},
/* -- ADDMODULE MARKER 2 -- */
/* This module "lives in" with marshal.c */
{
"marshal"
,
initmarshal
},
/* These entries are here for sys.builtin_module_names */
{
"__main__"
,
NULL
},
{
"__builtin__"
,
NULL
},
{
"sys"
,
NULL
},
/* Sentinel */
{
0
,
0
}
};
#ifdef USE_FROZEN
#include "frozen.c"
#else
struct
frozen
{
char
*
name
;
char
*
code
;
int
size
;
}
frozen_modules
[]
=
{
{
0
,
0
,
0
}
};
#endif
Mac/Modules/macmodule.c
0 → 100644
Dosyayı görüntüle @
ce9739ba
/***********************************************************
Copyright 1991, 1992, 1993, 1004 by Stichting Mathematisch Centrum,
Amsterdam, The Netherlands.
All Rights Reserved
Permission to use, copy, modify, and distribute this software and its
documentation for any purpose and without fee is hereby granted,
provided that the above copyright notice appear in all copies and that
both that copyright notice and this permission notice appear in
supporting documentation, and that the names of Stichting Mathematisch
Centrum or CWI not be used in advertising or publicity pertaining to
distribution of the software without specific, written prior permission.
STICHTING MATHEMATISCH CENTRUM DISCLAIMS ALL WARRANTIES WITH REGARD TO
THIS SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND
FITNESS, IN NO EVENT SHALL STICHTING MATHEMATISCH CENTRUM BE LIABLE
FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT
OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
******************************************************************/
/* Macintosh OS module implementation */
#include "allobjects.h"
#include "import.h"
#include "modsupport.h"
#include "::unixemu:dir.h"
#include "::unixemu:stat.h"
static
object
*
MacError
;
/* Exception */
static
object
*
mac_chdir
(
self
,
args
)
object
*
self
;
object
*
args
;
{
char
*
path
;
if
(
!
getstrarg
(
args
,
&
path
))
return
NULL
;
if
(
chdir
(
path
)
!=
0
)
return
err_errno
(
MacError
);
INCREF
(
None
);
return
None
;
}
static
object
*
mac_getcwd
(
self
,
args
)
object
*
self
;
object
*
args
;
{
extern
char
*
getwd
();
char
buf
[
1025
];
if
(
!
getnoarg
(
args
))
return
NULL
;
strcpy
(
buf
,
"mac.getcwd() failed"
);
/* In case getwd() doesn't set a msg */
if
(
getwd
(
buf
)
==
NULL
)
{
err_setstr
(
MacError
,
buf
);
return
NULL
;
}
return
newstringobject
(
buf
);
}
static
object
*
mac_listdir
(
self
,
args
)
object
*
self
;
object
*
args
;
{
object
*
d
,
*
v
;
char
*
name
;
DIR
*
dirp
;
struct
direct
*
ep
;
if
(
!
getstrarg
(
args
,
&
name
))
return
NULL
;
if
((
dirp
=
opendir
(
name
))
==
NULL
)
return
err_errno
(
MacError
);
if
((
d
=
newlistobject
(
0
))
==
NULL
)
{
closedir
(
dirp
);
return
NULL
;
}
while
((
ep
=
readdir
(
dirp
))
!=
NULL
)
{
v
=
newstringobject
(
ep
->
d_name
);
if
(
v
==
NULL
)
{
DECREF
(
d
);
d
=
NULL
;
break
;
}
if
(
addlistitem
(
d
,
v
)
!=
0
)
{
DECREF
(
v
);
DECREF
(
d
);
d
=
NULL
;
break
;
}
DECREF
(
v
);
}
closedir
(
dirp
);
return
d
;
}
static
object
*
mac_mkdir
(
self
,
args
)
object
*
self
;
object
*
args
;
{
char
*
path
;
int
mode
;
if
(
!
getargs
(
args
,
"(si)"
,
&
path
,
&
mode
))
return
NULL
;
if
(
mkdir
(
path
,
mode
)
!=
0
)
return
err_errno
(
MacError
);
INCREF
(
None
);
return
None
;
}
static
object
*
mac_rename
(
self
,
args
)
object
*
self
;
object
*
args
;
{
char
*
src
,
*
dst
;
if
(
!
getargs
(
args
,
"(ss)"
,
&
src
,
&
dst
))
return
NULL
;
if
(
rename
(
src
,
dst
)
!=
0
)
return
err_errno
(
MacError
);
INCREF
(
None
);
return
None
;
}
static
object
*
mac_rmdir
(
self
,
args
)
object
*
self
;
object
*
args
;
{
char
*
path
;
if
(
!
getstrarg
(
args
,
&
path
))
return
NULL
;
if
(
rmdir
(
path
)
!=
0
)
return
err_errno
(
MacError
);
INCREF
(
None
);
return
None
;
}
static
object
*
mac_stat
(
self
,
args
)
object
*
self
;
object
*
args
;
{
struct
stat
st
;
char
*
path
;
object
*
v
;
if
(
!
getstrarg
(
args
,
&
path
))
return
NULL
;
if
(
stat
(
path
,
&
st
)
!=
0
)
return
err_errno
(
MacError
);
v
=
newtupleobject
(
11
);
if
(
v
==
NULL
)
return
NULL
;
#define SET(i, val) settupleitem(v, i, newintobject((long)(val)))
#define UNSET(i, val) SET(i, 0)
/* For values my Mac stat doesn't support */
SET
(
0
,
st
.
st_mode
);
UNSET
(
1
,
st
.
st_ino
);
UNSET
(
2
,
st
.
st_dev
);
UNSET
(
3
,
st
.
st_nlink
);
UNSET
(
4
,
st
.
st_uid
);
UNSET
(
5
,
st
.
st_gid
);
SET
(
6
,
st
.
st_size
);
UNSET
(
7
,
st
.
st_atime
);
SET
(
8
,
st
.
st_mtime
);
UNSET
(
9
,
st
.
st_ctime
);
SET
(
10
,
st
.
st_rsize
);
/* Mac-specific: resource size */
/* XXX Check that unixemu:stat.c defines this! */
#undef SET
if
(
err_occurred
())
{
DECREF
(
v
);
return
NULL
;
}
return
v
;
}
static
object
*
mac_sync
(
self
,
args
)
object
*
self
;
object
*
args
;
{
if
(
!
getnoarg
(
args
))
return
NULL
;
sync
();
INCREF
(
None
);
return
None
;
}
static
object
*
mac_unlink
(
self
,
args
)
object
*
self
;
object
*
args
;
{
char
*
path
;
if
(
!
getstrarg
(
args
,
&
path
))
return
NULL
;
if
(
unlink
(
path
)
!=
0
)
return
err_errno
(
MacError
);
INCREF
(
None
);
return
None
;
}
static
struct
methodlist
mac_methods
[]
=
{
{
"chdir"
,
mac_chdir
},
{
"getcwd"
,
mac_getcwd
},
{
"listdir"
,
mac_listdir
},
{
"mkdir"
,
mac_mkdir
},
{
"rename"
,
mac_rename
},
{
"rmdir"
,
mac_rmdir
},
{
"stat"
,
mac_stat
},
{
"sync"
,
mac_sync
},
{
"unlink"
,
mac_unlink
},
{
NULL
,
NULL
}
/* Sentinel */
};
void
initmac
()
{
object
*
m
,
*
d
;
m
=
initmodule
(
"mac"
,
mac_methods
);
d
=
getmoduledict
(
m
);
/* Initialize mac.error exception */
MacError
=
newstringobject
(
"mac.error"
);
if
(
MacError
==
NULL
||
dictinsert
(
d
,
"error"
,
MacError
)
!=
0
)
fatal
(
"can't define mac.error"
);
}
Mac/Python/macgetmtime.c
0 → 100644
Dosyayı görüntüle @
ce9739ba
#include "::unixemu:stat.h"
/* Interfaced used by import.c */
long
getmtime
(
path
)
char
*
path
;
{
struct
stat
st
;
if
(
stat
(
path
,
&
st
)
!=
0
)
return
-
1L
;
return
st
.
st_mtime
;
}
Mac/Python/macguesstabsize.c
0 → 100644
Dosyayı görüntüle @
ce9739ba
#include <MacHeaders>
#include <string.h>
/* Interface used by tokenizer.c */
guesstabsize
(
path
)
char
*
path
;
{
char
s
[
256
];
int
refnum
;
Handle
h
;
int
tabsize
=
0
;
s
[
0
]
=
strlen
(
path
);
strncpy
(
s
+
1
,
path
,
s
[
0
]);
refnum
=
OpenResFile
(
s
);
/* printf("%s --> refnum=%d\n", path, refnum); */
if
(
refnum
==
-
1
)
return
0
;
UseResFile
(
refnum
);
h
=
GetIndResource
(
'
ETAB
'
,
1
);
if
(
h
!=
0
)
{
tabsize
=
(
*
(
short
**
)
h
)[
1
];
/* printf("tabsize=%d\n", tabsize); */
}
CloseResFile
(
refnum
);
return
tabsize
;
}
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment