diff options
| author | davygrvy <davygrvy@pobox.com> | 2002-02-12 14:22:09 (GMT) | 
|---|---|---|
| committer | davygrvy <davygrvy@pobox.com> | 2002-02-12 14:22:09 (GMT) | 
| commit | de72c79290dc40def3b8de1d7256b060d965ce7e (patch) | |
| tree | e271264a7d2a240921b9f282ebbb0ac8b72c1f73 /unix/tclUnixFile.c | |
| parent | 13191824d02cbbc7920899e1c1f0ee85841e6d3a (diff) | |
| download | tcl-de72c79290dc40def3b8de1d7256b060d965ce7e.zip tcl-de72c79290dc40def3b8de1d7256b060d965ce7e.tar.gz tcl-de72c79290dc40def3b8de1d7256b060d965ce7e.tar.bz2 | |
	* djgpp/ (new directory)
	* djgpp/Makefile (new):
	* unix/tclAppInit.c:
	* unix/tclMtherr.c:
	* unix/tclUnixFCmd.c:
	* unix/tclUnixFile.c:
	* unix/tclUnixInit.c:
	* unix/tclUnixPort.h:  Early stage of DJGPP support for building
	Tcl on DOS.  Dynamic loading isn't working, yet.  Requires watt32
	for the TCP/IP stack.  No autoconf, yet.  Barely tested, but
	makes a working exe that runs Tcl in protected-mode, flat memory.
	[exec] and pipes will need the most work as multi-tasking on DOS
	has to be carefully.
Diffstat (limited to 'unix/tclUnixFile.c')
| -rw-r--r-- | unix/tclUnixFile.c | 15 | 
1 files changed, 12 insertions, 3 deletions
| diff --git a/unix/tclUnixFile.c b/unix/tclUnixFile.c index fc8fb08..2c1fb87 100644 --- a/unix/tclUnixFile.c +++ b/unix/tclUnixFile.c @@ -9,7 +9,7 @@   * See the file "license.terms" for information on usage and redistribution   * of this file, and for a DISCLAIMER OF ALL WARRANTIES.   * - * RCS: @(#) $Id: tclUnixFile.c,v 1.16 2002/02/08 02:52:54 dgp Exp $ + * RCS: @(#) $Id: tclUnixFile.c,v 1.17 2002/02/12 14:26:05 davygrvy Exp $   */  #include "tclInt.h" @@ -46,6 +46,7 @@ TclpFindExecutable(argv0)  				 * (native). */  {      CONST char *name, *p; +      struct stat statBuf;      int length;      Tcl_DString buffer, nameString; @@ -135,8 +136,12 @@ TclpFindExecutable(argv0)       * If the name starts with "/" then just copy it to tclExecutableName.       */ -    gotName: +gotName: +#ifdef DJGPP +    if (name[1] == ':')  { +#else      if (name[0] == '/')  { +#endif  	Tcl_ExternalToUtfDString(NULL, name, -1, &nameString);  	tclNativeExecutableName = (char *)  		ckalloc((unsigned) (Tcl_DStringLength(&nameString) + 1)); @@ -168,7 +173,7 @@ TclpFindExecutable(argv0)  	    Tcl_DStringValue(&nameString));      Tcl_DStringFree(&nameString); -    done: +done:      Tcl_DStringFree(&buffer);      return tclNativeExecutableName;  } @@ -645,6 +650,7 @@ TclpReadlink(path, linkPtr)      Tcl_DString *linkPtr;	/* Uninitialized or free DString filled  				 * with contents of link (UTF-8). */  { +#ifndef DJGPP      char link[MAXPATHLEN];      int length;      CONST char *native; @@ -660,6 +666,9 @@ TclpReadlink(path, linkPtr)      Tcl_ExternalToUtfDString(NULL, link, length, linkPtr);      return Tcl_DStringValue(linkPtr); +#else +	return NULL; +#endif  }  /* | 
