readdirents(2) now properly reports ERANGE.

This commit is contained in:
Jonas 'Sortie' Termansen 2012-01-15 00:43:13 +01:00
parent f476a82498
commit c8c34d3cdd
4 changed files with 4 additions and 3 deletions

View File

@ -81,6 +81,7 @@ namespace Sortix
// another one (provide as many as we can).
prev = dirent;
size_t bytesused = sizeof(sortix_dirent) + dirent->d_namelen + 1;
ASSERT(bytesused <= size);
size -= bytesused;
dirent = (sortix_dirent*) ( ((byte*) dirent) + bytesused );
}

View File

@ -318,7 +318,7 @@ namespace Sortix
{
dirent->d_namelen = needed;
Error::Set(ERANGE);
return 0;
return -1;
}
Memory::Copy(dirent->d_name, name, namelen + 1);

View File

@ -185,7 +185,7 @@ namespace Sortix
{
dirent->d_namelen = needed;
Error::Set(ERANGE);
return 0;
return -1;
}
Memory::Copy(dirent->d_name, name, namelen + 1);

View File

@ -223,7 +223,7 @@ namespace Sortix
{
dirent->d_namelen = needed;
Error::Set(ERANGE);
return 0;
return -1;
}
Memory::Copy(dirent->d_name, name, namelen + 1);