Mail Archives: djgpp/2001/06/07/12:44:43
> Eventually you will come to a low-level function which calls __dpmi_int,
> to use some DOS service, and fails. You don't need to go any further:
> just post here where did that happen, and what error code did that DOS
> function return in the __dpmi_regs structure accepted by __dpmi_int.
Inside access( ) there is a call to findfirst( ), which fails with errno=22
(ENOENT)
Particularly, this DPMI call has failed inside findfisrt():
...
r.h.ah = 0x4e;
r.x.dx = __tb_offset;
r.x.ds = __tb_segment;
r.x.cx = attrib; // 0x21 in this case (archive+readonly)
__dpmi_int(0x21, &r);
if(!(r.x.flags & 1)) // CF is set after the DOS interrupt call, so this
condition is always FALSE
{
/* Recover results */
dosmemget(__tb+pathlen, _sizeof_dos_ffblk, ffblk);
return 0;
}
errno = __doserr_to_errno(r.x.ax);
return errno;
Alex
- Raw text -