On Sun, 7 Mar 2004, Luchezar Georgiev wrote: > The following log comment is slightly incorrect: > > > prf.c > > Log Message: > > Borland C (unlike Turbo C) didn't like this pseudo register use. > > Actually, *both* Turbo and Borland C didn't like it!
This is strange. The old code has been there for ages even when we compiled with Turbo C by default. I see: 0010 B8 00 0E mov ax,0x0e00 0013 0B 46 04 or ax,0x4[bp] which should be correct since the high byte should be 0. Ahh. Some calls to put_console most likely sign extend the byte then. That should be corrected as well then. Anyway the new code is one byte smaller. > After some fiddling with debug kernels and the very old (1987!) but > excellent STEPDOS Int 21 tracer (http://www.chiphead.de/pages/stdos.htm), > I come up the following patch which fixes the bug. > --- cvs/kernel/kernel/dosnames.c 2003-06-15 20:57:02.000000000 +0200 > +++ src/kernel/kernel/dosnames.c 2004-03-07 14:02:30.000000000 +0200 > @@ -113,6 +113,8 @@ > { > if (*filename != '\0') > return DE_FILENOTFND; > + if (nDirCnt <= 3) /* "D:\" (D=drive) */ > + return DE_NFILES; /* root has no '.' */ > memset(fcbname, '?', FNAME_SIZE + FEXT_SIZE); > return nDirCnt; > } Thanks! -- I'll have a closer look since I remember similar issues. Bart ------------------------------------------------------- This SF.Net email is sponsored by: IBM Linux Tutorials Free Linux tutorial presented by Daniel Robbins, President and CEO of GenToo technologies. Learn everything from fundamentals to system administration.http://ads.osdn.com/?ad_id=1470&alloc_id=3638&op=click _______________________________________________ Freedos-kernel mailing list [EMAIL PROTECTED] https://lists.sourceforge.net/lists/listinfo/freedos-kernel