[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
minor cleanups
From: |
Eric Blake |
Subject: |
minor cleanups |
Date: |
Wed, 07 Oct 2009 19:20:00 -0600 |
User-agent: |
Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.1.23) Gecko/20090812 Thunderbird/2.0.0.23 Mnenhy/0.7.6.666 |
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1
I noticed these minor issues today, so I'm pushing this. I'm now heavily
entrenched in trying to write utimensat, and it's turning into quite a
project.
- --
Don't work too hard, make some time for fun as well!
Eric Blake address@hidden
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.9 (Cygwin)
Comment: Public key at home.comcast.net/~ericblake/eblake.gpg
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org/
iEYEARECAAYFAkrNPkAACgkQ84KuGfSFAYCqOQCgiifQZnda9eoxJFHIR6Jf0XeG
6D0An3MrVCPl12al5rlhAlvvHANOvNmh
=q5YU
-----END PGP SIGNATURE-----
>From 4cfdc2ad7312588b038a55c6ecb1c89064e65d7d Mon Sep 17 00:00:00 2001
From: Eric Blake <address@hidden>
Date: Wed, 7 Oct 2009 08:17:36 -0600
Subject: [PATCH 1/2] openat, utimens: whitespace cleanup
* lib/openat.c: Prefer space throughout, rather than mix of 8
spaces vs. tabs.
* lib/at-func.c: Likewise.
* lib/utimens.c: Likewise.
Signed-off-by: Eric Blake <address@hidden>
---
ChangeLog | 8 +++++
lib/at-func.c | 28 +++++++++---------
lib/openat.c | 92 ++++++++++++++++++++++++++++----------------------------
lib/utimens.c | 78 ++++++++++++++++++++++++------------------------
4 files changed, 107 insertions(+), 99 deletions(-)
diff --git a/ChangeLog b/ChangeLog
index c120c09..8e4f204 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,13 @@
2009-10-07 Eric Blake <address@hidden>
+ openat, utimens: whitespace cleanup
+ * lib/openat.c: Prefer space throughout, rather than mix of 8
+ spaces vs. tabs.
+ * lib/at-func.c: Likewise.
+ * lib/utimens.c: Likewise.
+
+2009-10-07 Eric Blake <address@hidden>
+
openat: avoid using wrong fd
* lib/openat.c (openat_permissive): Reject user's fd if saving the
working directory chooses same fd.
diff --git a/lib/at-func.c b/lib/at-func.c
index 4e5ba2f..373b5f6 100644
--- a/lib/at-func.c
+++ b/lib/at-func.c
@@ -70,20 +70,20 @@ AT_FUNC_NAME (int fd, char const *file
AT_FUNC_POST_FILE_PARAM_DECLS)
char *proc_file = openat_proc_name (proc_buf, fd, file);
if (proc_file)
{
- FUNC_RESULT proc_result = CALL_FUNC (proc_file);
- int proc_errno = errno;
- if (proc_file != proc_buf)
- free (proc_file);
- /* If the syscall succeeds, or if it fails with an unexpected
- errno value, then return right away. Otherwise, fall through
- and resort to using save_cwd/restore_cwd. */
- if (0 <= proc_result)
- return proc_result;
- if (! EXPECTED_ERRNO (proc_errno))
- {
- errno = proc_errno;
- return proc_result;
- }
+ FUNC_RESULT proc_result = CALL_FUNC (proc_file);
+ int proc_errno = errno;
+ if (proc_file != proc_buf)
+ free (proc_file);
+ /* If the syscall succeeds, or if it fails with an unexpected
+ errno value, then return right away. Otherwise, fall through
+ and resort to using save_cwd/restore_cwd. */
+ if (0 <= proc_result)
+ return proc_result;
+ if (! EXPECTED_ERRNO (proc_errno))
+ {
+ errno = proc_errno;
+ return proc_result;
+ }
}
}
diff --git a/lib/openat.c b/lib/openat.c
index aae7782..2b15bb5 100644
--- a/lib/openat.c
+++ b/lib/openat.c
@@ -47,7 +47,7 @@ rpl_openat (int dfd, char const *filename, int flags, ...)
va_start (arg, flags);
/* We have to use PROMOTED_MODE_T instead of mode_t, otherwise GCC 4
- creates crashing code when 'mode_t' is smaller than 'int'. */
+ creates crashing code when 'mode_t' is smaller than 'int'. */
mode = va_arg (arg, PROMOTED_MODE_T);
va_end (arg);
@@ -79,10 +79,10 @@ rpl_openat (int dfd, char const *filename, int flags, ...)
{
size_t len = strlen (filename);
if (len > 0 && filename[len - 1] == '/')
- {
- errno = EISDIR;
- return -1;
- }
+ {
+ errno = EISDIR;
+ return -1;
+ }
}
#endif
@@ -106,16 +106,16 @@ rpl_openat (int dfd, char const *filename, int flags, ...)
/* We know len is positive, since open did not fail with ENOENT. */
size_t len = strlen (filename);
if (filename[len - 1] == '/')
- {
- struct stat statbuf;
-
- if (fstat (fd, &statbuf) >= 0 && !S_ISDIR (statbuf.st_mode))
- {
- close (fd);
- errno = ENOTDIR;
- return -1;
- }
- }
+ {
+ struct stat statbuf;
+
+ if (fstat (fd, &statbuf) >= 0 && !S_ISDIR (statbuf.st_mode))
+ {
+ close (fd);
+ errno = ENOTDIR;
+ return -1;
+ }
+ }
}
#endif
@@ -143,7 +143,7 @@ openat (int fd, char const *file, int flags, ...)
va_start (arg, flags);
/* We have to use PROMOTED_MODE_T instead of mode_t, otherwise GCC 4
- creates crashing code when 'mode_t' is smaller than 'int'. */
+ creates crashing code when 'mode_t' is smaller than 'int'. */
mode = va_arg (arg, PROMOTED_MODE_T);
va_end (arg);
@@ -165,7 +165,7 @@ openat (int fd, char const *file, int flags, ...)
int
openat_permissive (int fd, char const *file, int flags, mode_t mode,
- int *cwd_errno)
+ int *cwd_errno)
{
struct saved_cwd saved_cwd;
int saved_errno;
@@ -180,18 +180,18 @@ openat_permissive (int fd, char const *file, int flags,
mode_t mode,
char *proc_file = openat_proc_name (buf, fd, file);
if (proc_file)
{
- int open_result = open (proc_file, flags, mode);
- int open_errno = errno;
- if (proc_file != buf)
- free (proc_file);
- /* If the syscall succeeds, or if it fails with an unexpected
- errno value, then return right away. Otherwise, fall through
- and resort to using save_cwd/restore_cwd. */
- if (0 <= open_result || ! EXPECTED_ERRNO (open_errno))
- {
- errno = open_errno;
- return open_result;
- }
+ int open_result = open (proc_file, flags, mode);
+ int open_errno = errno;
+ if (proc_file != buf)
+ free (proc_file);
+ /* If the syscall succeeds, or if it fails with an unexpected
+ errno value, then return right away. Otherwise, fall through
+ and resort to using save_cwd/restore_cwd. */
+ if (0 <= open_result || ! EXPECTED_ERRNO (open_errno))
+ {
+ errno = open_errno;
+ return open_result;
+ }
}
}
@@ -199,7 +199,7 @@ openat_permissive (int fd, char const *file, int flags,
mode_t mode,
if (! save_ok)
{
if (! cwd_errno)
- openat_save_fail (errno);
+ openat_save_fail (errno);
*cwd_errno = errno;
}
if (0 <= fd && fd == saved_cwd.desc)
@@ -220,17 +220,17 @@ openat_permissive (int fd, char const *file, int flags,
mode_t mode,
err = open (file, flags, mode);
saved_errno = errno;
if (save_ok && restore_cwd (&saved_cwd) != 0)
- {
- if (! cwd_errno)
- {
- /* Don't write a message to just-created fd 2. */
- saved_errno = errno;
- if (err == STDERR_FILENO)
- close (err);
- openat_restore_fail (saved_errno);
- }
- *cwd_errno = errno;
- }
+ {
+ if (! cwd_errno)
+ {
+ /* Don't write a message to just-created fd 2. */
+ saved_errno = errno;
+ if (err == STDERR_FILENO)
+ close (err);
+ openat_restore_fail (saved_errno);
+ }
+ *cwd_errno = errno;
+ }
}
free_cwd (&saved_cwd);
@@ -251,11 +251,11 @@ openat_needs_fchdir (void)
char buf[OPENAT_BUFFER_SIZE];
char *proc_file = openat_proc_name (buf, fd, ".");
if (proc_file)
- {
- needs_fchdir = false;
- if (proc_file != buf)
- free (proc_file);
- }
+ {
+ needs_fchdir = false;
+ if (proc_file != buf)
+ free (proc_file);
+ }
close (fd);
}
diff --git a/lib/utimens.c b/lib/utimens.c
index f7bc75e..86c1c5a 100644
--- a/lib/utimens.c
+++ b/lib/utimens.c
@@ -66,7 +66,7 @@ struct utimbuf
int
gl_futimens (int fd ATTRIBUTE_UNUSED,
- char const *file, struct timespec const timespec[2])
+ char const *file, struct timespec const timespec[2])
{
/* Some Linux-based NFS clients are buggy, and mishandle time stamps
of files in NFS file systems in some cases. We have no
@@ -131,11 +131,11 @@ gl_futimens (int fd ATTRIBUTE_UNUSED,
struct timeval const *t;
if (timespec)
{
- timeval[0].tv_sec = timespec[0].tv_sec;
- timeval[0].tv_usec = timespec[0].tv_nsec / 1000;
- timeval[1].tv_sec = timespec[1].tv_sec;
- timeval[1].tv_usec = timespec[1].tv_nsec / 1000;
- t = timeval;
+ timeval[0].tv_sec = timespec[0].tv_sec;
+ timeval[0].tv_usec = timespec[0].tv_nsec / 1000;
+ timeval[1].tv_sec = timespec[1].tv_sec;
+ timeval[1].tv_usec = timespec[1].tv_nsec / 1000;
+ t = timeval;
}
else
t = NULL;
@@ -143,27 +143,27 @@ gl_futimens (int fd ATTRIBUTE_UNUSED,
if (fd < 0)
{
# if HAVE_FUTIMESAT
- return futimesat (AT_FDCWD, file, t);
+ return futimesat (AT_FDCWD, file, t);
# endif
}
else
{
- /* If futimesat or futimes fails here, don't try to speed things
- up by returning right away. glibc can incorrectly fail with
- errno == ENOENT if /proc isn't mounted. Also, Mandrake 10.0
- in high security mode doesn't allow ordinary users to read
- /proc/self, so glibc incorrectly fails with errno == EACCES.
- If errno == EIO, EPERM, or EROFS, it's probably safe to fail
- right away, but these cases are rare enough that they're not
- worth optimizing, and who knows what other messed-up systems
- are out there? So play it safe and fall back on the code
- below. */
+ /* If futimesat or futimes fails here, don't try to speed things
+ up by returning right away. glibc can incorrectly fail with
+ errno == ENOENT if /proc isn't mounted. Also, Mandrake 10.0
+ in high security mode doesn't allow ordinary users to read
+ /proc/self, so glibc incorrectly fails with errno == EACCES.
+ If errno == EIO, EPERM, or EROFS, it's probably safe to fail
+ right away, but these cases are rare enough that they're not
+ worth optimizing, and who knows what other messed-up systems
+ are out there? So play it safe and fall back on the code
+ below. */
# if HAVE_FUTIMESAT
- if (futimesat (fd, NULL, t) == 0)
- return 0;
+ if (futimesat (fd, NULL, t) == 0)
+ return 0;
# elif HAVE_FUTIMES
- if (futimes (fd, t) == 0)
- return 0;
+ if (futimes (fd, t) == 0)
+ return 0;
# endif
}
#endif /* HAVE_FUTIMESAT || HAVE_WORKING_UTIMES */
@@ -171,20 +171,20 @@ gl_futimens (int fd ATTRIBUTE_UNUSED,
if (!file)
{
#if ! (HAVE_FUTIMESAT || (HAVE_WORKING_UTIMES && HAVE_FUTIMES))
- errno = ENOSYS;
+ errno = ENOSYS;
#endif
- /* Prefer EBADF to ENOSYS if both error numbers apply. */
- if (errno == ENOSYS)
- {
- int fd2 = dup (fd);
- int dup_errno = errno;
- if (0 <= fd2)
- close (fd2);
- errno = (fd2 < 0 && dup_errno == EBADF ? EBADF : ENOSYS);
- }
-
- return -1;
+ /* Prefer EBADF to ENOSYS if both error numbers apply. */
+ if (errno == ENOSYS)
+ {
+ int fd2 = dup (fd);
+ int dup_errno = errno;
+ if (0 <= fd2)
+ close (fd2);
+ errno = (fd2 < 0 && dup_errno == EBADF ? EBADF : ENOSYS);
+ }
+
+ return -1;
}
#if HAVE_WORKING_UTIMES
@@ -194,13 +194,13 @@ gl_futimens (int fd ATTRIBUTE_UNUSED,
struct utimbuf utimbuf;
struct utimbuf const *ut;
if (timespec)
- {
- utimbuf.actime = timespec[0].tv_sec;
- utimbuf.modtime = timespec[1].tv_sec;
- ut = &utimbuf;
- }
+ {
+ utimbuf.actime = timespec[0].tv_sec;
+ utimbuf.modtime = timespec[1].tv_sec;
+ ut = &utimbuf;
+ }
else
- ut = NULL;
+ ut = NULL;
return utime (file, ut);
}
--
1.6.5.rc1
>From be6ecdb426dd16eb475d3f869a3c27bd2271cca5 Mon Sep 17 00:00:00 2001
From: Eric Blake <address@hidden>
Date: Wed, 7 Oct 2009 14:49:38 -0600
Subject: [PATCH 2/2] maint: minor cleanups
* lib/fts.c (ATTRIBUTE_UNUSED): Delete; use gnulib-guaranteed
_ATTRIBUTE_UNUSED instead.
* lib/getdate.y (ATTRIBUTE_UNUSED): Likewise.
* lib/utimens.c (ATTRIBUTE_UNUSED): Likewise.
* modules/linkat-tests (Files): Distribute test-link.h.
Signed-off-by: Eric Blake <address@hidden>
---
ChangeLog | 7 +++++++
lib/fts.c | 16 +++-------------
lib/getdate.y | 14 ++------------
lib/utimens.c | 12 +-----------
modules/linkat-tests | 1 +
5 files changed, 14 insertions(+), 36 deletions(-)
diff --git a/ChangeLog b/ChangeLog
index 8e4f204..e1b6ca8 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,12 @@
2009-10-07 Eric Blake <address@hidden>
+ maint: minor cleanups
+ * lib/fts.c (ATTRIBUTE_UNUSED): Delete; use gnulib-guaranteed
+ _UNUSED_PARAMETER_ instead.
+ * lib/getdate.y (ATTRIBUTE_UNUSED): Likewise.
+ * lib/utimens.c (ATTRIBUTE_UNUSED): Likewise.
+ * modules/linkat-tests (Files): Distribute test-link.h.
+
openat, utimens: whitespace cleanup
* lib/openat.c: Prefer space throughout, rather than mix of 8
spaces vs. tabs.
diff --git a/lib/fts.c b/lib/fts.c
index 041f9f0..40a837e 100644
--- a/lib/fts.c
+++ b/lib/fts.c
@@ -173,16 +173,6 @@ enum Fts_stat
# define __set_errno(Val) errno = (Val)
#endif
-#ifndef __attribute__
-# if __GNUC__ < 2 || (__GNUC__ == 2 && __GNUC_MINOR__ < 8)
-# define __attribute__(x) /* empty */
-# endif
-#endif
-
-#ifndef ATTRIBUTE_UNUSED
-# define ATTRIBUTE_UNUSED __attribute__ ((__unused__))
-#endif
-
/* If this host provides the openat function, then we can avoid
attempting to open "." in some initialization code below. */
#ifdef HAVE_OPENAT
@@ -727,9 +717,9 @@ leaf_optimization_applies (int dir_fd)
#else
static bool
-dirent_inode_sort_may_be_useful (int dir_fd ATTRIBUTE_UNUSED) { return true; }
+dirent_inode_sort_may_be_useful (int dir_fd _UNUSED_PARAMETER_) { return true;
}
static bool
-leaf_optimization_applies (int dir_fd ATTRIBUTE_UNUSED) { return false; }
+leaf_optimization_applies (int dir_fd _UNUSED_PARAMETER_) { return false; }
#endif
#if GNULIB_FTS
@@ -1079,7 +1069,7 @@ check_for_dir:
*/
/* ARGSUSED */
int
-fts_set(FTS *sp ATTRIBUTE_UNUSED, FTSENT *p, int instr)
+fts_set(FTS *sp _UNUSED_PARAMETER_, FTSENT *p, int instr)
{
if (instr != 0 && instr != FTS_AGAIN && instr != FTS_FOLLOW &&
instr != FTS_NOINSTR && instr != FTS_SKIP) {
diff --git a/lib/getdate.y b/lib/getdate.y
index f022710..94160b2 100644
--- a/lib/getdate.y
+++ b/lib/getdate.y
@@ -78,16 +78,6 @@
of `digit' even when the host does not conform to POSIX. */
#define ISDIGIT(c) ((unsigned int) (c) - '0' <= 9)
-#ifndef __attribute__
-# if __GNUC__ < 2 || (__GNUC__ == 2 && __GNUC_MINOR__ < 8) || __STRICT_ANSI__
-# define __attribute__(x)
-# endif
-#endif
-
-#ifndef ATTRIBUTE_UNUSED
-# define ATTRIBUTE_UNUSED __attribute__ ((__unused__))
-#endif
-
/* Shift A right by B bits portably, by dividing A by 2**B and
truncating towards minus infinity. A and B should be free of side
effects, and B should be in the range 0 <= B <= INT_BITS - 2, where
@@ -1155,8 +1145,8 @@ yylex (YYSTYPE *lvalp, parser_control *pc)
/* Do nothing if the parser reports an error. */
static int
-yyerror (parser_control const *pc ATTRIBUTE_UNUSED,
- char const *s ATTRIBUTE_UNUSED)
+yyerror (parser_control const *pc _UNUSED_PARAMETER_,
+ char const *s _UNUSED_PARAMETER_)
{
return 0;
}
diff --git a/lib/utimens.c b/lib/utimens.c
index 86c1c5a..10d2c82 100644
--- a/lib/utimens.c
+++ b/lib/utimens.c
@@ -44,16 +44,6 @@ struct utimbuf
};
#endif
-#ifndef __attribute__
-# if __GNUC__ < 2 || (__GNUC__ == 2 && __GNUC_MINOR__ < 8)
-# define __attribute__(x)
-# endif
-#endif
-
-#ifndef ATTRIBUTE_UNUSED
-# define ATTRIBUTE_UNUSED __attribute__ ((__unused__))
-#endif
-
/* Set the access and modification time stamps of FD (a.k.a. FILE) to be
TIMESPEC[0] and TIMESPEC[1], respectively.
FD must be either negative -- in which case it is ignored --
@@ -65,7 +55,7 @@ struct utimbuf
Return 0 on success, -1 (setting errno) on failure. */
int
-gl_futimens (int fd ATTRIBUTE_UNUSED,
+gl_futimens (int fd _UNUSED_PARAMETER_,
char const *file, struct timespec const timespec[2])
{
/* Some Linux-based NFS clients are buggy, and mishandle time stamps
diff --git a/modules/linkat-tests b/modules/linkat-tests
index 9fb6505..1f9aafa 100644
--- a/modules/linkat-tests
+++ b/modules/linkat-tests
@@ -1,4 +1,5 @@
Files:
+tests/test-link.h
tests/test-linkat.c
Depends-on:
--
1.6.5.rc1
- minor cleanups,
Eric Blake <=