forked from KolibriOS/kolibrios
Fixed a bug in libio (concerned file.find functions in particular)
Also, added a file to ease debugging in the future git-svn-id: svn://kolibrios.org@2570 a494cfbc-eb01-0410-851d-a64ba20cac60
This commit is contained in:
parent
595e7179f6
commit
729f5e776a
@ -37,13 +37,14 @@
|
||||
;;================================================================================================;;
|
||||
|
||||
|
||||
|
||||
format MS COFF
|
||||
|
||||
public @EXPORT as 'EXPORTS'
|
||||
|
||||
include '../../../../proc32.inc'
|
||||
include '../../../../macros.inc'
|
||||
purge section;mov,add,sub
|
||||
purge section,mov,add,sub
|
||||
|
||||
include 'libio.inc'
|
||||
include 'libio_p.inc'
|
||||
@ -548,3 +549,4 @@ export \
|
||||
file.seteof , 'file_seteof' , \
|
||||
file.truncate , 'file_truncate' , \
|
||||
file.close , 'file_close'
|
||||
|
||||
|
@ -78,7 +78,7 @@ struct FileInfoA
|
||||
FileSizeHigh dd ?
|
||||
ends
|
||||
ends
|
||||
FileName rb 252
|
||||
FileName rb 264
|
||||
ends
|
||||
|
||||
struct FileInfoW
|
||||
|
49
programs/develop/libraries/libs-dev/libio/libio_debug.asm
Normal file
49
programs/develop/libraries/libs-dev/libio/libio_debug.asm
Normal file
@ -0,0 +1,49 @@
|
||||
|
||||
macro debug_FileInfoHeader ptr {
|
||||
DEBUGF 1, "FileInfoHeader (0x%x)\n", ptr
|
||||
DEBUGF 1, "Version: %u\n", [ptr + FileInfoHeader.Version]:4
|
||||
DEBUGF 1, "FilesRead: %u\n", [ptr + FileInfoHeader.FilesRead]:4
|
||||
DEBUGF 1, "FilesCount: %u\n\n", [ptr + FileInfoHeader.FilesCount]:4
|
||||
}
|
||||
|
||||
macro debug_FileInfoA ptr {
|
||||
DEBUGF 1, "FileInfoA (0x%x)\n", ptr
|
||||
DEBUGF 1, "Attributes: 0x%x\n", [ptr + FileInfoA.Attributes]:8
|
||||
DEBUGF 1, "Flags: 0x%x\n", [ptr + FileInfoA.Flags]:8
|
||||
DEBUGF 1, "FileSizeLow: 0x%x\n", [ptr + FileInfoA.FileSize]:8
|
||||
DEBUGF 1, "FileSizeHigh: 0x%x\n", [ptr + FileInfoA.FileSize+4]:8
|
||||
push eax
|
||||
lea eax, [ptr + FileInfoA.FileName]
|
||||
DEBUGF 1, "FileName: %s\n\n", eax
|
||||
pop eax
|
||||
}
|
||||
|
||||
macro debug_FileInfoBlock ptr {
|
||||
DEBUGF 1, "FileInfoBlock (0x%x)\n", ptr
|
||||
DEBUGF 1, "Function: %u\n", [ptr + FileInfoBlock.Function]:4
|
||||
DEBUGF 1, "Position: %u\n", [ptr + FileInfoBlock.Position]:4
|
||||
DEBUGF 1, "Flags: 0x%x\n", [ptr + FileInfoBlock.Flags]:8
|
||||
DEBUGF 1, "Count: %u\n", [ptr + FileInfoBlock.Count]:4
|
||||
DEBUGF 1, "Buffer: 0x%x\n", [ptr + FileInfoBlock.Buffer]:8
|
||||
DEBUGF 1, "FileName: %s\n\n", [ptr + FileInfoBlock.FileName]:8
|
||||
}
|
||||
|
||||
macro debug_FindOptions ptr {
|
||||
DEBUGF 1, "FindOptions (0x%x)\n", ptr
|
||||
DEBUGF 1, "Attributes: 0x%x\n", [ptr + FindOptions.Attributes]:8
|
||||
DEBUGF 1, "Mask: %s\n\n", [ptr + FindOptions.Mask]
|
||||
}
|
||||
|
||||
macro debug_FindFileBlock ptr {
|
||||
push eax
|
||||
mov eax, ptr
|
||||
DEBUGF 1, "FindFileBlock (0x%x)\n\n", eax
|
||||
debug_FileInfoHeader eax
|
||||
add eax, sizeof.FileInfoHeader
|
||||
debug_FileInfoA eax
|
||||
add eax, sizeof.FileInfoA
|
||||
debug_FileInfoBlock eax
|
||||
add eax, sizeof.FileInfoBlock
|
||||
debug_FindOptions eax
|
||||
pop eax
|
||||
}
|
Loading…
Reference in New Issue
Block a user