Hi! - slightly more comments.
--- Begin Message ---diff -ruNp old/kernel/dosfns.c new/kernel/dosfns.c --- old/kernel/dosfns.c 2004-07-20 16:59:04.000000000 +0000 +++ new/kernel/dosfns.c 2004-07-20 17:57:38.000000000 +0000 @@ -1015,7 +1015,7 @@ STATIC int pop_dmp(int rc, dmatch FAR * dta = save_dta; if (rc == SUCCESS) { - fmemcpy(save_dta, &sda_tmp_dm, 21); + fmemcpy(save_dta, &sda_tmp_dm, 21/*offsetof(save_dta->dm_attr_fnd)*/); save_dta->dm_attr_fnd = SearchDir.dir_attrib; save_dta->dm_time = SearchDir.dir_time; save_dta->dm_date = SearchDir.dir_date; @@ -1080,7 +1080,7 @@ COUNT DosFindNext(void) { dmatch FAR *save_dta = dta; - /* findnext will always fail on a device name device name or volume id */ + /* findnext fail on a device name and volume id */ if (save_dta->dm_attr_fnd & (D_DEVICE | D_VOLID)) return DE_NFILES; @@ -1101,10 +1101,7 @@ COUNT DosFindNext(void) * RBIL says that findnext can only return one error type anyway * (12h, DE_NFILES) */ -#if 0 - printf("findnext: %d\n", save_dta->dm_drive); -#endif - fmemcpy(dta = &sda_tmp_dm, save_dta, 21); + fmemcpy(dta = &sda_tmp_dm, save_dta, 21/*offsetof(save_dta->dm_attr_fnd)*/); memset(&SearchDir, 0, sizeof(struct dirent)); return pop_dmp(sda_tmp_dm.dm_drive & 0x80 ? network_redirector_fp(REM_FINDNEXT, &sda_tmp_dm)
--- End Message ---
