]> git.eshelyaron.com Git - emacs.git/commitdiff
(getdefdir) [DJGPP > 1]: Use 32-bit ESI to pass buffer
authorRichard M. Stallman <rms@gnu.org>
Fri, 26 Apr 1996 11:56:25 +0000 (11:56 +0000)
committerRichard M. Stallman <rms@gnu.org>
Fri, 26 Apr 1996 11:56:25 +0000 (11:56 +0000)
address to `intdos' instead of SI which can be 16-bit.

src/msdos.c

index 05f5f4670e445bd248e0bfc521a1231027b3e28f..c90e9766579496a1e4a07d2fe75c0c53915f3617 100644 (file)
@@ -2093,7 +2093,14 @@ getdefdir (drive, dst)
 
   *dst++ = '/';
   regs.h.dl = drive;
+#if __DJGPP__ > 1
+  /* regs.x.si can be 16 or 32 bits, depending on whether _NAIVE_DOS_REGS
+     or _BORLAND_DOS_REGS have or haven't been defined.  We should work
+     with either, so use regs.d.esi which is always 32 bit-wide.  */
+  regs.d.esi = (int) dst;
+#else
   regs.x.si = (int) dst;
+#endif
   regs.h.ah = 0x47;
   intdos (&regs, &regs);
   return !regs.x.cflag;