Ingo Schwarze wrote on Mon, Nov 04, 2013 at 09:51:41AM +0100:
> I will send a minimal one-line patch to just fix the bug and do nothing
> else. We should get that one in quickly.
Done.
[...]
> Then i will send two cleanup patches to remove useless stuff
> and put the code into the right place, not changing any functionality.
Here it is (one patch only).
- put the seekdir() implementation where it belongs
and remove a related lie from a comment
- remove unused headers and an unused prototype
- remove two trivial functions used only once, in the same file
- avoid code duplication
No functional change.
OK?
Ingo
Index: rewinddir.c
===================================================================
RCS file: /cvs/src/lib/libc/gen/rewinddir.c,v
retrieving revision 1.10
diff -u -p -r1.10 rewinddir.c
--- rewinddir.c 13 Aug 2013 05:52:12 -0000 1.10
+++ rewinddir.c 5 Nov 2013 09:54:32 -0000
@@ -1,5 +1,5 @@
/* $OpenBSD: rewinddir.c,v 1.10 2013/08/13 05:52:12 guenther Exp $ */
-/*-
+/*
* Copyright (c) 1990, 1993
* The Regents of the University of California. All rights reserved.
*
@@ -28,16 +28,12 @@
* SUCH DAMAGE.
*/
-#include <sys/types.h>
#include <dirent.h>
-
#include "thread_private.h"
#include "telldir.h"
void
rewinddir(DIR *dirp)
{
- _MUTEX_LOCK(&dirp->dd_lock);
- __seekdir(dirp, 0);
- _MUTEX_UNLOCK(&dirp->dd_lock);
+ seekdir(dirp, 0);
}
Index: seekdir.c
===================================================================
RCS file: /cvs/src/lib/libc/gen/seekdir.c,v
retrieving revision 1.9
diff -u -p -r1.9 seekdir.c
--- seekdir.c 5 Jun 2007 18:11:48 -0000 1.9
+++ seekdir.c 5 Nov 2013 09:54:32 -0000
@@ -28,19 +28,21 @@
* SUCH DAMAGE.
*/
-#include <sys/param.h>
#include <dirent.h>
+#include <unistd.h>
+
#include "thread_private.h"
#include "telldir.h"
/*
* Seek to an entry in a directory.
- * __seekdir is in telldir.c so that it can share opaque data structures.
+ * Only values returned by "telldir" should be passed to seekdir.
*/
void
seekdir(DIR *dirp, long loc)
{
_MUTEX_LOCK(&dirp->dd_lock);
- __seekdir(dirp, loc);
+ dirp->dd_loc = 0;
+ dirp->dd_curpos = lseek(dirp->dd_fd, loc, SEEK_SET);
_MUTEX_UNLOCK(&dirp->dd_lock);
}
Index: telldir.c
===================================================================
RCS file: /cvs/src/lib/libc/gen/telldir.c,v
retrieving revision 1.16
diff -u -p -r1.16 telldir.c
--- telldir.c 5 Nov 2013 09:36:05 -0000 1.16
+++ telldir.c 5 Nov 2013 09:54:33 -0000
@@ -28,45 +28,21 @@
* SUCH DAMAGE.
*/
-#include <sys/param.h>
-#include <sys/queue.h>
#include <dirent.h>
-#include <stdlib.h>
-#include <unistd.h>
-
#include "thread_private.h"
#include "telldir.h"
-int _readdir_unlocked(DIR *, struct dirent **, int);
-
/*
* return a pointer into a directory
*/
long
-_telldir_unlocked(DIR *dirp)
-{
- return (dirp->dd_curpos);
-}
-
-long
telldir(DIR *dirp)
{
long i;
_MUTEX_LOCK(&dirp->dd_lock);
- i = _telldir_unlocked(dirp);
+ i = dirp->dd_curpos;
_MUTEX_UNLOCK(&dirp->dd_lock);
return (i);
-}
-
-/*
- * seek to an entry in a directory.
- * Only values returned by "telldir" should be passed to seekdir.
- */
-void
-__seekdir(DIR *dirp, long loc)
-{
- dirp->dd_loc = 0;
- dirp->dd_curpos = lseek(dirp->dd_fd, loc, SEEK_SET);
}
Index: telldir.h
===================================================================
RCS file: /cvs/src/lib/libc/gen/telldir.h,v
retrieving revision 1.6
diff -u -p -r1.6 telldir.h
--- telldir.h 13 Aug 2013 05:52:13 -0000 1.6
+++ telldir.h 5 Nov 2013 09:54:33 -0000
@@ -47,7 +47,4 @@ struct _dirdesc {
void *dd_lock; /* mutex to protect struct */
};
-long _telldir_unlocked(DIR *);
-void __seekdir(DIR *, long);
-
#endif