[git commit future] utime[s]: avoid circular dependency

Peter S. Mazinger ps.m at gmx.net
Wed Apr 20 10:50:38 UTC 2011


commit: http://git.uclibc.org/uClibc/commit/?id=5e3a9eeaa061b15b7a867ca9cbf322b5c0327ccb
branch: http://git.uclibc.org/uClibc/commit/?id=refs/heads/future

utime.c: fix a cast, tv_sec is of type time_t
Add stub for utimes.

Signed-off-by: Peter S. Mazinger <ps.m at gmx.net>
---
 libc/sysdeps/linux/common/stubs.c  |    5 +++++
 libc/sysdeps/linux/common/utime.c  |    8 +++++---
 libc/sysdeps/linux/common/utimes.c |    4 +++-
 3 files changed, 13 insertions(+), 4 deletions(-)

diff --git a/libc/sysdeps/linux/common/stubs.c b/libc/sysdeps/linux/common/stubs.c
index 8082644..d41710d 100644
--- a/libc/sysdeps/linux/common/stubs.c
+++ b/libc/sysdeps/linux/common/stubs.c
@@ -251,6 +251,11 @@ make_stub(symlink)
 make_stub(sysinfo)
 #endif
 
+#if !defined __NR_utime && !defined __NR_utimes
+/*make_stub(utime) obsoleted */
+make_stub(utimes)
+#endif
+
 #ifndef __NR_fadvise64
 make_ret_stub(posix_fadvise)
 #endif
diff --git a/libc/sysdeps/linux/common/utime.c b/libc/sysdeps/linux/common/utime.c
index 2573e00..ab63a24 100644
--- a/libc/sysdeps/linux/common/utime.c
+++ b/libc/sysdeps/linux/common/utime.c
@@ -12,7 +12,7 @@
 
 #ifdef __NR_utime
 _syscall2(int, utime, const char *, file, const struct utimbuf *, times)
-#else
+#elif defined __NR_utimes /* alpha || ia64 */
 # define __need_NULL
 # include <stddef.h>
 # include <sys/time.h>
@@ -24,11 +24,13 @@ int utime(const char *file, const struct utimbuf *times)
 	if (times != NULL) {
 		timevals[0].tv_usec = 0L;
 		timevals[1].tv_usec = 0L;
-		timevals[0].tv_sec = (long int) times->actime;
-		timevals[1].tv_sec = (long int) times->modtime;
+		timevals[0].tv_sec = (time_t) times->actime;
+		timevals[1].tv_sec = (time_t) times->modtime;
 	}
 	return utimes(file, times ? timevals : NULL);
 }
 #endif
+#if defined __NR_utime || defined __NR_utimes
 link_warning(utime, "the use of OBSOLESCENT `utime' is discouraged, use `utimes'")
 libc_hidden_def(utime)
+#endif
diff --git a/libc/sysdeps/linux/common/utimes.c b/libc/sysdeps/linux/common/utimes.c
index ac9aff5..5d6f168 100644
--- a/libc/sysdeps/linux/common/utimes.c
+++ b/libc/sysdeps/linux/common/utimes.c
@@ -12,7 +12,7 @@
 
 #ifdef __NR_utimes
 _syscall2(int, utimes, const char *, file, const struct timeval *, tvp)
-#else
+#elif defined __NR_utime
 # define __need_NULL
 # include <stddef.h>
 # include <utime.h>
@@ -31,4 +31,6 @@ int utimes(const char *file, const struct timeval tvp[2])
 	return utime(file, times);
 }
 #endif
+#if defined __NR_utimes || defined __NR_utime
 libc_hidden_def(utimes)
+#endif
-- 
1.7.3.4



More information about the uClibc-cvs mailing list