Hi!
I wrote:
+++ mk_rddir.c10 Dec 2005 10:09:43 - 1.3
+int lfn_mrc_dir(const char *path, int mode)
+{
+ struct REGPACK r;
+ int mrc_f[6] = { 0x713A, 0x7139, 0x713B, 0x3A, 0x39, 0x3B };
------
BTW, bug! Function number should come in AH, not AL! So:
+ r.r_ax = mrc_f[mode + (checkDriveSupportsLFN(getdisk() + 'A') ? 0 :
3)];
if (checkDriveSupportsLFN(getdisk() + 'A'))
mode += 0x7100;
r.r_ax = mode;
Possible solution with my edition:
if (...)
mode += 0x7100;
else
mode = 8; /* shift low byte to high byte */
r.r_ax = mode;
Or:
if (...)
mode = (mode 8) + 0x7100;
r.r_ax = mode;
[...]
#define chdir(x) lfn_mrc_dir(x,0x3B00)
--^^
---
This SF.net email is sponsored by: Splunk Inc. Do you grep through log files
for problems? Stop! Download the new AJAX search engine that makes
searching your log files as easy as surfing the web. DOWNLOAD SPLUNK!
http://ads.osdn.com/?ad_id=7637alloc_id=16865op=click
___
Freedos-kernel mailing list
Freedos-kernel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/freedos-kernel