From 55fc91b9d62bec29deaba79e4adb4e85c35cc306 Mon Sep 17 00:00:00 2001 From: Christopher Faylor Date: Wed, 26 Apr 2000 05:13:32 +0000 Subject: * exceptions.cc (interruptible): Allocate slightly more space for directory name check. Windows 95 seems to null-terminate the directory otherwise. (interrupt_on_return): Issue a fatal error if we can't find the caller's stack. * spawn.cc (find_exec): Accept a path_conv argument rather than a buffer so that the caller can find things out about a translated path. (perhaps_suffix): Ditto. (spawn_guts): Allocate path_conv stuff here so that we can find out stuff about the translated path (this is work in progress). * environ.cc (environ_init): Accept an as-yet unused argument indicating whether we were invoked from a cygwin parent or not. (winenv): Ditto. (posify): Accept an argument indicating whether the path has already been translated. * dlfcn.cc (check_access): Provide a path_conv buffer to find_exec. * exec.cc (sexecvpe): Ditto. * path.cc (path_conv::check): Rename from path_conv::path_conv. (mount_item::getmntent): Recognize "Cygwin executable" bit. (symlink_info::check): Remove debugging statements. * path.h (class path_conv): Add iscygexec method. Rewrite constructor to call "check" method to allow multiple operations on a path_conv variable. * pinfo.cc (pinfo_init): Pass argument to environ_init. * shared.h: Bump PROC_MAGIC. * winsup.h: Reflect above changes to function arguments. * include/sys/mount.h: Add MOUNT_CYGWIN_EXEC type. --- winsup/cygwin/winsup.h | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) (limited to 'winsup/cygwin/winsup.h') diff --git a/winsup/cygwin/winsup.h b/winsup/cygwin/winsup.h index f3dbe3a0a..68fc14702 100644 --- a/winsup/cygwin/winsup.h +++ b/winsup/cygwin/winsup.h @@ -373,7 +373,7 @@ extern "C" int dll_noncygwin_dllcrt0 (HMODULE, per_process *); extern "C" void __stdcall do_exit (int) __attribute__ ((noreturn)); /* Initialize the environment */ -void environ_init (void); +void environ_init (int); /* Heap management. */ void heap_init (void); @@ -411,7 +411,7 @@ extern "C" int try_to_debug (); /**************************** Miscellaneous ******************************/ -const char * __stdcall find_exec (const char *name, char *buf, const char *winenv = "PATH=", +const char * __stdcall find_exec (const char *name, path_conv& buf, const char *winenv = "PATH=", int null_if_notfound = 0, const char **known_suffix = NULL); /* File manipulation */ @@ -556,7 +556,7 @@ struct win_env win_env * __stdcall getwinenv (const char *name, const char *posix = NULL); -char * __stdcall winenv (const char * const *); +char * __stdcall winenv (const char * const *, int); extern char **__cygwin_environ; /* The title on program start. */ -- cgit v1.2.3