On Wednesday 06 January 2010 01:02:04 Reece Dunn wrote: > 2010/1/5 Michael Stefaniuc <[email protected]>: > > 2040 | 36 | ntdll:RtlNtStatusToDosErrorNoTeb no mapping for c0000109 > > 0xc0000109 is NT_STATUS_MESSAGE_NOT_FOUND according to > http://lists.samba.org/archive/jcifs/2004-February/003038.html. > > Interestingly, in dlls/ntdll/tests/error.c, there is already an entry > for STATUS_MESSAGE_NOT_FOUND, so I am not sure where this fixme is > originating (older version of wine?): > 511 cmp(STATUS_MESSAGE_NOT_FOUND, > ERROR_MR_MID_NOT_FOUND);
Nope, that fixme is still in the code. To quote from dlls/ntdll/error.c:
while (table->start)
{
if (status < table->start) break;
if (status < table->end)
{
DWORD ret = table->table[status - table->start];
if (ret == ERROR_MR_MID_NOT_FOUND) FIXME( "no mapping for %08x\n",
status );
^^^^^^^^^^^^^^^^^^^^^^^
return ret;
}
table++;
}
So there's an explicit test for the STATUS_MESSAGE_NOT_FOUND mapping, as
that's also used for a "No mapping found" return in the mapping table. It
looks like it'd make sense to change that if check to
if (ret == ERROR_MR_MID_NOT_FOUND && status != STATUS_MESSAGE_NOT_FOUND)
FIXME(...);
I'll send a patch.
Cheers,
Kai
--
Kai Blin
WorldForge developer http://www.worldforge.org/
Wine developer http://wiki.winehq.org/KaiBlin
Samba team member http://www.samba.org/samba/team/
--
Will code for cotton.
signature.asc
Description: This is a digitally signed message part.
