From ac6467587e864d199377f14281da4641f979a68a Mon Sep 17 00:00:00 2001 From: Dan Albert Date: Thu, 5 Jun 2014 02:10:49 +0000 Subject: [PATCH] Revert "Revert "Remove ftime from bionic LP64"" This reverts commit 0921204660b9597de795065d0350a787035ad589. Change-Id: I749af8d7d429cda9f9d09a75bd30df54e6b1dd65 --- libc/Android.mk | 1 - libc/bionic/ftime.c | 49 --------------------------------------- libc/bionic/ndk_cruft.cpp | 30 ++++++++++++++++++++++++ libc/include/sys/timeb.h | 47 ------------------------------------- 4 files changed, 30 insertions(+), 97 deletions(-) delete mode 100644 libc/bionic/ftime.c delete mode 100644 libc/include/sys/timeb.h diff --git a/libc/Android.mk b/libc/Android.mk index 4866f68b0..bc6cf78f9 100644 --- a/libc/Android.mk +++ b/libc/Android.mk @@ -43,7 +43,6 @@ libc_common_src_files := \ bionic/err.c \ bionic/ether_aton.c \ bionic/ether_ntoa.c \ - bionic/ftime.c \ bionic/fts.c \ bionic/gethostname.c \ bionic/getpriority.c \ diff --git a/libc/bionic/ftime.c b/libc/bionic/ftime.c deleted file mode 100644 index 6513593b9..000000000 --- a/libc/bionic/ftime.c +++ /dev/null @@ -1,49 +0,0 @@ -/* - * Copyright (C) 2008 The Android Open Source Project - * All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * * Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * * Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in - * the documentation and/or other materials provided with the - * distribution. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS - * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT - * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS - * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE - * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, - * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, - * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS - * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED - * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, - * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT - * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF - * SUCH DAMAGE. - */ -#include - -int ftime(struct timeb *tb) -{ - struct timeval tv; - struct timezone tz; - - if (gettimeofday (&tv, &tz) < 0) - return -1; - - tb->time = tv.tv_sec; - tb->millitm = (tv.tv_usec + 500) / 1000; - - if (tb->millitm == 1000) { - ++tb->time; - tb->millitm = 0; - } - tb->timezone = tz.tz_minuteswest; - tb->dstflag = tz.tz_dsttime; - - return 0; -} diff --git a/libc/bionic/ndk_cruft.cpp b/libc/bionic/ndk_cruft.cpp index 43078fdcc..1ae388bd7 100644 --- a/libc/bionic/ndk_cruft.cpp +++ b/libc/bionic/ndk_cruft.cpp @@ -266,4 +266,34 @@ extern "C" int getdtablesize() { return r.rlim_cur; } +// Only used by ftime, which was removed from POSIX. +struct timeb { + time_t time; + unsigned short millitm; + short timezone; + short dstflag; +}; + +// This was removed from POSIX 2008. +extern "C" int ftime(struct timeb* tb) { + struct timeval tv; + struct timezone tz; + + if (gettimeofday(&tv, &tz) < 0) + return -1; + + tb->time = tv.tv_sec; + tb->millitm = (tv.tv_usec + 500) / 1000; + + if (tb->millitm == 1000) { + ++tb->time; + tb->millitm = 0; + } + + tb->timezone = tz.tz_minuteswest; + tb->dstflag = tz.tz_dsttime; + + return 0; +} + #endif diff --git a/libc/include/sys/timeb.h b/libc/include/sys/timeb.h deleted file mode 100644 index cf6f25581..000000000 --- a/libc/include/sys/timeb.h +++ /dev/null @@ -1,47 +0,0 @@ -/* - * Copyright (C) 2008 The Android Open Source Project - * All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * * Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * * Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in - * the documentation and/or other materials provided with the - * distribution. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS - * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT - * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS - * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE - * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, - * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, - * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS - * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED - * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, - * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT - * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF - * SUCH DAMAGE. - */ -#ifndef _SYS_TIMEB_H -#define _SYS_TIMEB_H - -#include -#include - -__BEGIN_DECLS - -struct timeb { - time_t time; - unsigned short millitm; - short timezone; - short dstflag; -}; - -extern int ftime(struct timeb* timebuf); - -__END_DECLS - -#endif /* _SYS_TIMEB_H */