- Added Py_GetProgramFullPath
- Added PyMac_StopGUSISpin and have it called at exit time (fixes crash when exiting with sockets open) - Added PLstr... funcs needed by gusi: those provided by StdCLib are broken under cfm68k
This commit is contained in:
parent
570e4b7ad1
commit
a39f1b0ce2
|
@ -215,7 +215,57 @@ PyMac_SetGUSISpin() {
|
|||
GUSISetHook(GUSI_SpinHook, (GUSIHook)PyMac_GUSISpin);
|
||||
}
|
||||
|
||||
#endif
|
||||
/* Called at exit() time thru atexit(), to stop event processing */
|
||||
void
|
||||
PyMac_StopGUSISpin() {
|
||||
PyMac_ConsoleIsDead = 1;
|
||||
}
|
||||
|
||||
/*
|
||||
** Replacement routines for the PLstr... functions so we don't need
|
||||
** StdCLib. Moreover, that implementation is broken under cfm68k...
|
||||
*/
|
||||
void
|
||||
PLstrcpy(to, fr)
|
||||
unsigned char *to, *fr;
|
||||
{
|
||||
memcpy(to, fr, fr[0]+1);
|
||||
}
|
||||
|
||||
int
|
||||
PLstrcmp(s1, s2)
|
||||
unsigned char *s1, *s2;
|
||||
{
|
||||
int res;
|
||||
int l = s1[0] < s2[0] ? s1[0] : s2[0];
|
||||
|
||||
res = memcmp(s1+1, s2+1, l);
|
||||
if ( res != 0 )
|
||||
return res;
|
||||
|
||||
if ( s1 < s2 )
|
||||
return -1;
|
||||
else if ( s1 > s2 )
|
||||
return 1;
|
||||
else
|
||||
return 0;
|
||||
}
|
||||
|
||||
unsigned char *
|
||||
PLstrrchr(str, chr)
|
||||
unsigned char *str;
|
||||
unsigned char chr;
|
||||
{
|
||||
unsigned char *ptr = 0;
|
||||
unsigned char *p;
|
||||
|
||||
for(p=str+1; p<str+str[0]; p++)
|
||||
if ( *p == chr )
|
||||
ptr = p;
|
||||
return ptr;
|
||||
}
|
||||
|
||||
#endif /* USE_GUSI */
|
||||
|
||||
|
||||
/* Convert C to Pascal string. Returns pointer to static buffer. */
|
||||
|
|
|
@ -209,6 +209,7 @@ init_common(int *argcp, char ***argvp, int embedded)
|
|||
GUSIDefaultSetup();
|
||||
PyMac_SetGUSISpin();
|
||||
PyMac_SetGUSIOptions();
|
||||
atexit(PyMac_StopGUSISpin);
|
||||
#endif
|
||||
|
||||
#ifdef USE_SIOUX
|
||||
|
@ -464,13 +465,6 @@ PyMac_Exit(status)
|
|||
}
|
||||
else
|
||||
SIOUXSettings.autocloseonquit = 1;
|
||||
#ifdef USE_GUSI
|
||||
/*
|
||||
** Workaround for Sioux/GUSI combo: we should not call
|
||||
** SiouxHandleOneEvent after the window is closed
|
||||
*/
|
||||
PyMac_ConsoleIsDead = 1;
|
||||
#endif /* USE_GUSI */
|
||||
#endif /* USE_SIOUX */
|
||||
#ifdef THINK_C
|
||||
console_options.pause_atexit = keep;
|
||||
|
@ -487,6 +481,13 @@ Py_GetProgramName()
|
|||
return orig_argv[0];
|
||||
}
|
||||
|
||||
/* The same, but used differently */
|
||||
char *
|
||||
Py_GetProgramFullPath()
|
||||
{
|
||||
return Py_GetProgramName();
|
||||
}
|
||||
|
||||
|
||||
/* Make the *original* argc/argv available to other modules.
|
||||
This is rare, but it is needed by the secureware extension. */
|
||||
|
|
Loading…
Reference in New Issue