Align seekdir and telldir API to POSIX definition.
* Makefile.in (NEW_FUNCTIONS): Remove seekdir and telldir mappings. * dir.cc (telldir): Move functionality from telldir64 here. Use long, rather than _off_t. (telldir64): Just call telldir. Only keep for backward compatibility. (seekdir): Move functionality from seekdir64 here. Use long, rather than _off_t. (seekdir64): Just call seekdir. Only keep for backward compatibility. * fhandler.h: Throughout, change prototypes of seekdir and telldir methods to use long, rather than _off64_t. * fhandler_disk_file.cc: Change aforementioned methods accordingly. * fhandler_netdrive.cc: Ditto. * fhandler_registry.cc: Ditto. * fhandler_virtual.cc: Ditto. * include/sys/dirent.h (struct __DIR): Change __d_position from _off_t to long to reflect API change. (telldir): Change prototype to use long, rather than off_t. (seekdir): Ditto.
This commit is contained in:
@@ -97,13 +97,14 @@ fhandler_virtual::opendir (int fd)
|
||||
return res;
|
||||
}
|
||||
|
||||
_off64_t fhandler_virtual::telldir (DIR * dir)
|
||||
long
|
||||
fhandler_virtual::telldir (DIR * dir)
|
||||
{
|
||||
return dir->__d_position;
|
||||
}
|
||||
|
||||
void
|
||||
fhandler_virtual::seekdir (DIR * dir, _off64_t loc)
|
||||
fhandler_virtual::seekdir (DIR * dir, long loc)
|
||||
{
|
||||
dir->__flags |= dirent_saw_dot | dirent_saw_dot_dot;
|
||||
dir->__d_position = loc;
|
||||
|
Reference in New Issue
Block a user