opendir, closedir, dirfd, fdopendir: port to OS/2 kLIBC
commit7524d6101f21f751ea536f237d55cb7ada03824a
authorKO Myung-Hun <komh78@gmail.com>
Thu, 14 Jan 2016 02:23:49 +0000 (14 11:23 +0900)
committerPaul Eggert <eggert@cs.ucla.edu>
Fri, 15 Jan 2016 00:45:38 +0000 (14 16:45 -0800)
tree3c3ea1d90feaedb193c9a1d791859968f426b022
parentc7e1cc415cd60f989fc75b99596e3bd656d3004e
opendir, closedir, dirfd, fdopendir: port to OS/2 kLIBC

* lib/closedir.c (closedir): Unregister fd if closedir() succeeds.
* lib/dirent.in.h (_gl_register_dirp_fd, _gl_unregister_dirp_fd):
Declare on kLIBC.
* lib/dirfd.c (struct dirp_fd_list): New. Structures to keep track of
fd associated with dirp.
(_gl_register_dirp_fd): New. Register fd associated with dirp to
dirp_fd_list.
(_gl_unregister_dirp_fd): New. Unregister fd with closing it.
(dirfd): Implemented for kLIBC.
* lib/fdopendir.c (fdopendir): Implemented for kLIBC.
* lib/opendir.c (opendir): New. Register fd and dirp pair if open()
succeeds.
* m4/closedir.m4 (gl_FUNC_CLOSEDIR): Replace if OS/2.
* m4/dirfd.m4 (gl_FUNC_DIRFD): Likewise.
(REPLACE_DIRFD): Define to 1 if replaced.
* m4/opendir.m4 (gl_FUNC_OPENDIR): Likewise.
* modules/closedir (Depends-on): Add dirfd.
* modules/dirfd (Depends-on): Add 'test $REPLACE_DIRFD = 1' to errno
condition.
(configure.ac): Add dirfd to LIBOBJS if $REPLACE_DIRFD = 1 as well.
* modules/opendir (Depends-on): Add dirfd.
lib/closedir.c
lib/dirent.in.h
lib/dirfd.c
lib/fdopendir.c
lib/opendir.c
m4/closedir.m4
m4/dirfd.m4
m4/opendir.m4
modules/closedir
modules/dirfd
modules/opendir