AcornSearch - Acorn and RISC OS information searching
RISC OS Search
containing
"Nutty quip goes here!"
Home  |  About  |  Filebase Archive  |  StrongHelp Manuals  |  Newsgroups  |  Module Database
=>     R0 =     9
     R1 =     pointer to directory name
     R2 =     pointer to buffer
     R3 =     number of objects to read
     R4 =     where to start, 0 for first time
     R5 =     length of buffer
     R6 =     wildcarded name to match (if 0 "*" is used)
<=     R3 =     number of objects read
     R4 =     where to continue, or -1 for no more
     C flag is clear if R3 = 0, else it is set

This SWI reads filename entries from the specified directory, returning a group of 0-terminated strings in the buffer. The correct code structure to call this SWI is:

repeat
{
call OS_GBPB 9
if (R3 <> 0)
{
process buffer
}
} until (R4 = -1)

as it is legal to return R3 = 0 before the end of the directory. Also, do not assume anything about the value in R4.

Note: The PRM lies when it says that if R6 points to an empty string "*" is used.

[sh-index] Back to list of manuals