diff src/fileio.c @ 195:a2f645c6b9f8 r20-3b24

Import from CVS: tag r20-3b24
author cvs
date Mon, 13 Aug 2007 09:59:05 +0200
parents 489f57a838ef
children 41ff10fd062f
line wrap: on
line diff
--- a/src/fileio.c	Mon Aug 13 09:58:32 2007 +0200
+++ b/src/fileio.c	Mon Aug 13 09:59:05 2007 +0200
@@ -1160,8 +1160,15 @@
 	  o [p - nm] = 0;
 
 #ifdef  WINDOWSNT
+	  /*
+	  ** Now if the file given is "~foo/file" and HOME="c:/", then we
+	  ** want the file to be named "c:/file" ("~foo" becomes "c:/").
+	  ** The variable o has "~foo", so we can use the length of
+	  ** that string to offset nm.  August Hill, 31 Aug 1998.
+	  */
 	  newdir = (unsigned char *) egetenv ("HOME");
 	  dostounix_filename (newdir);
+	  nm += strlen(o) + 1;
 #else  /* not WINDOWSNT */
 	  /* Jamie reports that getpwnam() can get wedged by SIGIO/SIGALARM
 	     occurring in it. (It can call select()). */