mirror of
https://github.com/python/cpython.git
synced 2025-11-02 11:08:57 +00:00
The preference resource now has a version number
This commit is contained in:
parent
ac62569fd0
commit
5b3c9717c4
1 changed files with 21 additions and 16 deletions
|
|
@ -108,7 +108,6 @@ Py_GetPath()
|
||||||
char *p, *endp;
|
char *p, *endp;
|
||||||
int newlen;
|
int newlen;
|
||||||
char *curwd;
|
char *curwd;
|
||||||
staticforward char *PyMac_GetPythonDir();
|
|
||||||
#ifndef USE_BUILTIN_PATH
|
#ifndef USE_BUILTIN_PATH
|
||||||
staticforward char *PyMac_GetPythonPath();
|
staticforward char *PyMac_GetPythonPath();
|
||||||
#endif
|
#endif
|
||||||
|
|
@ -200,7 +199,7 @@ PyMac_OpenPrefFile()
|
||||||
/*
|
/*
|
||||||
** Return the name of the Python directory
|
** Return the name of the Python directory
|
||||||
*/
|
*/
|
||||||
static char *
|
char *
|
||||||
PyMac_GetPythonDir()
|
PyMac_GetPythonDir()
|
||||||
{
|
{
|
||||||
static int diditbefore = 0;
|
static int diditbefore = 0;
|
||||||
|
|
@ -257,7 +256,7 @@ PyMac_GetPythonDir()
|
||||||
}
|
}
|
||||||
|
|
||||||
#ifndef USE_BUILTIN_PATH
|
#ifndef USE_BUILTIN_PATH
|
||||||
static char *
|
char *
|
||||||
PyMac_GetPythonPath()
|
PyMac_GetPythonPath()
|
||||||
{
|
{
|
||||||
short oldrh, prefrh = -1;
|
short oldrh, prefrh = -1;
|
||||||
|
|
@ -364,7 +363,8 @@ PyMac_PreferenceOptions(PyMac_PrefRecord *pr)
|
||||||
short oldrh, prefrh = -1;
|
short oldrh, prefrh = -1;
|
||||||
Handle handle;
|
Handle handle;
|
||||||
int size;
|
int size;
|
||||||
char *p;
|
PyMac_PrefRecord *p;
|
||||||
|
int action;
|
||||||
|
|
||||||
|
|
||||||
oldrh = CurResFile();
|
oldrh = CurResFile();
|
||||||
|
|
@ -384,18 +384,23 @@ PyMac_PreferenceOptions(PyMac_PrefRecord *pr)
|
||||||
}
|
}
|
||||||
HLock(handle);
|
HLock(handle);
|
||||||
size = GetHandleSize(handle);
|
size = GetHandleSize(handle);
|
||||||
p = (char *)*handle;
|
p = (PyMac_PrefRecord *)*handle;
|
||||||
|
if ( p->version == POPT_VERSION_CURRENT && size == sizeof(PyMac_PrefRecord) ) {
|
||||||
if ( size > POPT_INSPECT ) pr->inspect = p[POPT_INSPECT];
|
*pr = *p;
|
||||||
if ( size > POPT_VERBOSE ) pr->verbose = p[POPT_VERBOSE];
|
} else {
|
||||||
if ( size > POPT_SUPPRESS ) pr->suppress_print = p[POPT_SUPPRESS];
|
action = CautionAlert(BADPREFERENCES_ID, NULL);
|
||||||
if ( size > POPT_UNBUFFERED ) pr->unbuffered = p[POPT_UNBUFFERED];
|
if ( action == BADPREF_DELETE ) {
|
||||||
if ( size > POPT_DEBUGGING ) pr->debugging = p[POPT_DEBUGGING];
|
OSErr err;
|
||||||
if ( size > POPT_KEEPNORM ) pr->keep_normal = p[POPT_KEEPNORM];
|
|
||||||
if ( size > POPT_KEEPERR ) pr->keep_error = p[POPT_KEEPERR];
|
RemoveResource(handle);
|
||||||
if ( size > POPT_NOINTOPT ) pr->nointopt = p[POPT_NOINTOPT];
|
if ( (err=ResError()) ) printf("RemoveResource: %d\n", err);
|
||||||
if ( size > POPT_NOARGS ) pr->noargs = p[POPT_NOARGS];
|
if ( prefrh != -1 ) {
|
||||||
|
UpdateResFile(prefrh);
|
||||||
|
if ( (err=ResError()) ) printf("UpdateResFile: %d\n", err);
|
||||||
|
}
|
||||||
|
} else if ( action == BADPREF_QUIT )
|
||||||
|
exit(1);
|
||||||
|
}
|
||||||
HUnlock(handle);
|
HUnlock(handle);
|
||||||
|
|
||||||
if ( prefrh != -1) CloseResFile(prefrh);
|
if ( prefrh != -1) CloseResFile(prefrh);
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue