Merge "Build tzcode with -Werror."
This commit is contained in:
commit
477b45b89d
@ -597,6 +597,7 @@ LOCAL_CFLAGS += -DTZDIR=\"/system/usr/share/zoneinfo\"
|
||||
# Include timezone and daylight globals.
|
||||
LOCAL_CFLAGS += -DUSG_COMPAT=1
|
||||
LOCAL_CFLAGS += -DNO_RUN_TIME_WARNINGS_ABOUT_YEAR_2000_PROBLEMS_THANK_YOU
|
||||
LOCAL_CFLAGS += -Dlint -Werror
|
||||
|
||||
LOCAL_CONLYFLAGS := $(libc_common_conlyflags)
|
||||
LOCAL_CPPFLAGS := $(libc_common_cppflags)
|
||||
|
@ -159,9 +159,9 @@ static const char * getoffset(const char * strp, int_fast32_t * offsetp);
|
||||
static const char * getrule(const char * strp, struct rule * rulep);
|
||||
static void gmtload(struct state * sp);
|
||||
static struct tm * gmtsub(const time_t * timep, int_fast32_t offset,
|
||||
struct tm * tmp, const struct state * sp); // android-changed: added sp.
|
||||
struct tm * tmp, struct state * sp); // android-changed: added sp.
|
||||
static struct tm * localsub(const time_t * timep, int_fast32_t offset,
|
||||
struct tm * tmp, const struct state * sp); // android-changed: added sp.
|
||||
struct tm * tmp, struct state * sp); // android-changed: added sp.
|
||||
static int increment_overflow(int * number, int delta);
|
||||
static int leaps_thru_end_of(int y) ATTRIBUTE_PURE;
|
||||
static int increment_overflow32(int_fast32_t * number, int delta);
|
||||
@ -173,16 +173,16 @@ static int normalize_overflow(int * tensptr, int * unitsptr,
|
||||
static void settzname(void);
|
||||
static time_t time1(struct tm * tmp,
|
||||
struct tm * (*funcp)(const time_t *,
|
||||
int_fast32_t, struct tm *, const struct state *), // android-changed: added state*.
|
||||
int_fast32_t, const struct state * sp); // android-changed: added sp.
|
||||
int_fast32_t, struct tm *, struct state *), // android-changed: added state*.
|
||||
int_fast32_t, struct state * sp); // android-changed: added sp.
|
||||
static time_t time2(struct tm * tmp,
|
||||
struct tm * (*funcp)(const time_t *,
|
||||
int_fast32_t, struct tm*, const struct state *), // android-changed: added state*.
|
||||
int_fast32_t offset, int * okayp, const struct state * sp); // android-changed: added sp.
|
||||
int_fast32_t, struct tm*, struct state *), // android-changed: added state*.
|
||||
int_fast32_t offset, int * okayp, struct state * sp); // android-changed: added sp.
|
||||
static time_t time2sub(struct tm *tmp,
|
||||
struct tm * (*funcp) (const time_t *,
|
||||
int_fast32_t, struct tm*, const struct state *), // android-changed: added state*.
|
||||
int_fast32_t offset, int * okayp, int do_norm_secs, const struct state * sp); // android-change: added sp.
|
||||
int_fast32_t, struct tm*, struct state *), // android-changed: added state*.
|
||||
int_fast32_t offset, int * okayp, int do_norm_secs, struct state * sp); // android-change: added sp.
|
||||
static struct tm * timesub(const time_t * timep, int_fast32_t offset,
|
||||
const struct state * sp, struct tm * tmp);
|
||||
static int tmcomp(const struct tm * atmp,
|
||||
@ -945,7 +945,6 @@ tzparse(const char * name, register struct state * const sp,
|
||||
register int load_result;
|
||||
static struct ttinfo zttinfo;
|
||||
|
||||
INITIALIZE(dstname);
|
||||
stdname = name;
|
||||
if (lastditch) {
|
||||
stdlen = strlen(name); /* length of standard zone name */
|
||||
@ -1284,7 +1283,7 @@ tzset(void)
|
||||
/*ARGSUSED*/
|
||||
static struct tm *
|
||||
localsub(const time_t * const timep, const int_fast32_t offset,
|
||||
struct tm * const tmp, const struct state * sp) // android-changed: added sp.
|
||||
struct tm * const tmp, struct state * sp) // android-changed: added sp.
|
||||
{
|
||||
register const struct ttinfo * ttisp;
|
||||
register int i;
|
||||
@ -1390,16 +1389,18 @@ localtime_r(const time_t * const timep, struct tm * tmp)
|
||||
|
||||
static struct tm *
|
||||
gmtsub(const time_t * const timep, const int_fast32_t offset,
|
||||
struct tm *const tmp, const struct state * sp __unused) // android-changed: added sp.
|
||||
struct tm *const tmp, struct state * sp __unused) // android-changed: added sp.
|
||||
{
|
||||
register struct tm * result;
|
||||
|
||||
if (!gmt_is_set) {
|
||||
gmt_is_set = TRUE;
|
||||
#ifdef ALL_STATE
|
||||
gmtptr = malloc(sizeof *gmtptr);
|
||||
gmt_is_set = gmtptr != NULL;
|
||||
#else
|
||||
gmt_is_set = TRUE;
|
||||
#endif /* defined ALL_STATE */
|
||||
if (gmtptr != NULL)
|
||||
if (gmt_is_set)
|
||||
gmtload(gmtptr);
|
||||
}
|
||||
result = timesub(timep, offset, gmtptr, tmp);
|
||||
@ -1710,10 +1711,10 @@ tmcomp(register const struct tm * const atmp,
|
||||
|
||||
static time_t
|
||||
time2sub(struct tm * const tmp,
|
||||
struct tm *(*const funcp)(const time_t*, int_fast32_t, struct tm*, const struct state*),
|
||||
struct tm *(*const funcp)(const time_t*, int_fast32_t, struct tm*, struct state*),
|
||||
const int_fast32_t offset,
|
||||
int * const okayp,
|
||||
const int do_norm_secs, const struct state * sp) // android-changed: added sp
|
||||
const int do_norm_secs, struct state * sp) // android-changed: added sp
|
||||
{
|
||||
register int dir;
|
||||
register int i, j;
|
||||
@ -1848,7 +1849,7 @@ time2sub(struct tm * const tmp,
|
||||
*/
|
||||
// BEGIN android-changed: support user-supplied sp
|
||||
if (sp == NULL) {
|
||||
sp = (const struct state *)
|
||||
sp = (struct state *)
|
||||
((funcp == localsub) ? lclptr : gmtptr);
|
||||
}
|
||||
// END android-changed
|
||||
@ -1889,9 +1890,9 @@ label:
|
||||
|
||||
static time_t
|
||||
time2(struct tm * const tmp,
|
||||
struct tm * (*const funcp)(const time_t *, int_fast32_t, struct tm *, const struct state *), // android-changed: added sp.
|
||||
struct tm * (*const funcp)(const time_t *, int_fast32_t, struct tm *, struct state *), // android-changed: added sp.
|
||||
const int_fast32_t offset,
|
||||
int *const okayp, const struct state* sp) // android-changed: added sp.
|
||||
int *const okayp, struct state* sp) // android-changed: added sp.
|
||||
{
|
||||
time_t t;
|
||||
|
||||
@ -1906,8 +1907,8 @@ time2(struct tm * const tmp,
|
||||
|
||||
static time_t
|
||||
time1(struct tm * const tmp,
|
||||
struct tm * (* const funcp) (const time_t *, int_fast32_t, struct tm *, const struct state *), // android-changed: added sp.
|
||||
const int_fast32_t offset, const struct state * sp) // android-changed: added sp.
|
||||
struct tm * (* const funcp) (const time_t *, int_fast32_t, struct tm *, struct state *), // android-changed: added sp.
|
||||
const int_fast32_t offset, struct state * sp) // android-changed: added sp.
|
||||
{
|
||||
register time_t t;
|
||||
register int samei, otheri;
|
||||
@ -1944,7 +1945,7 @@ time1(struct tm * const tmp,
|
||||
*/
|
||||
// BEGIN android-changed: support user-supplied sp.
|
||||
if (sp == NULL) {
|
||||
sp = (const struct state *) ((funcp == localsub) ? lclptr : gmtptr);
|
||||
sp = (struct state *) ((funcp == localsub) ? lclptr : gmtptr);
|
||||
}
|
||||
// BEGIN android-changed
|
||||
if (sp == NULL)
|
||||
|
@ -19,7 +19,7 @@
|
||||
|
||||
/*
|
||||
** Defaults for preprocessor symbols.
|
||||
** You can override these in your C compiler options, e.g. `-DHAVE_ADJTIME=0'.
|
||||
** You can override these in your C compiler options, e.g. '-DHAVE_ADJTIME=0'.
|
||||
*/
|
||||
|
||||
#ifndef HAVE_ADJTIME
|
||||
@ -62,9 +62,11 @@
|
||||
#define HAVE_UTMPX_H 0
|
||||
#endif /* !defined HAVE_UTMPX_H */
|
||||
|
||||
#if !defined(__ANDROID__)
|
||||
#ifndef LOCALE_HOME
|
||||
#define LOCALE_HOME "/usr/lib/locale"
|
||||
#endif /* !defined LOCALE_HOME */
|
||||
#endif // __ANDROID__
|
||||
|
||||
#if HAVE_INCOMPATIBLE_CTIME_R
|
||||
#define asctime_r _incompatible_asctime_r
|
||||
@ -120,8 +122,9 @@
|
||||
*/
|
||||
#ifndef HAVE_STDINT_H
|
||||
#define HAVE_STDINT_H \
|
||||
(199901 <= __STDC_VERSION__ || \
|
||||
2 < (__GLIBC__ + (0 < __GLIBC_MINOR__)))
|
||||
(199901 <= __STDC_VERSION__ \
|
||||
|| 2 < __GLIBC__ + (1 <= __GLIBC_MINOR__) \
|
||||
|| __CYGWIN__)
|
||||
#endif /* !defined HAVE_STDINT_H */
|
||||
|
||||
#if HAVE_STDINT_H
|
||||
@ -205,6 +208,10 @@ typedef unsigned long uintmax_t;
|
||||
#define INT32_MIN (-1 - INT32_MAX)
|
||||
#endif /* !defined INT32_MIN */
|
||||
|
||||
#ifndef SIZE_MAX
|
||||
#define SIZE_MAX ((size_t) -1)
|
||||
#endif
|
||||
|
||||
#if 2 < __GNUC__ + (96 <= __GNUC_MINOR__)
|
||||
# define ATTRIBUTE_CONST __attribute__ ((const))
|
||||
# define ATTRIBUTE_PURE __attribute__ ((__pure__))
|
||||
@ -347,29 +354,15 @@ static time_t const time_t_max =
|
||||
** INITIALIZE(x)
|
||||
*/
|
||||
|
||||
#ifndef GNUC_or_lint
|
||||
#ifdef lint
|
||||
#define GNUC_or_lint
|
||||
#endif /* defined lint */
|
||||
#ifndef lint
|
||||
#ifdef __GNUC__
|
||||
#define GNUC_or_lint
|
||||
#endif /* defined __GNUC__ */
|
||||
#endif /* !defined lint */
|
||||
#endif /* !defined GNUC_or_lint */
|
||||
|
||||
#ifndef INITIALIZE
|
||||
#ifdef GNUC_or_lint
|
||||
#define INITIALIZE(x) ((x) = 0)
|
||||
#endif /* defined GNUC_or_lint */
|
||||
#ifndef GNUC_or_lint
|
||||
#define INITIALIZE(x)
|
||||
#endif /* !defined GNUC_or_lint */
|
||||
#endif /* !defined INITIALIZE */
|
||||
# define INITIALIZE(x) ((x) = 0)
|
||||
#else
|
||||
# define INITIALIZE(x)
|
||||
#endif
|
||||
|
||||
/*
|
||||
** For the benefit of GNU folk...
|
||||
** `_(MSGID)' uses the current locale's message library string for MSGID.
|
||||
** '_(MSGID)' uses the current locale's message library string for MSGID.
|
||||
** The default is to use gettext if available, and use MSGID otherwise.
|
||||
*/
|
||||
|
||||
@ -381,9 +374,9 @@ static time_t const time_t_max =
|
||||
#endif /* !HAVE_GETTEXT */
|
||||
#endif /* !defined _ */
|
||||
|
||||
#ifndef TZ_DOMAIN
|
||||
#define TZ_DOMAIN "tz"
|
||||
#endif /* !defined TZ_DOMAIN */
|
||||
#if !defined TZ_DOMAIN && defined TZ_DOMAINDIR
|
||||
# define TZ_DOMAIN "tz"
|
||||
#endif
|
||||
|
||||
#if HAVE_INCOMPATIBLE_CTIME_R
|
||||
#undef asctime_r
|
||||
|
@ -1,12 +1,9 @@
|
||||
#ifndef lint
|
||||
#ifndef NOID
|
||||
static char elsieid[] = "@(#)strftime.c 8.1";
|
||||
/*
|
||||
** Based on the UCB version with the ID appearing below.
|
||||
** Based on the UCB version with the copyright notice and sccsid
|
||||
** appearing below.
|
||||
**
|
||||
** This is ANSIish only when "multibyte character == plain character".
|
||||
*/
|
||||
#endif /* !defined NOID */
|
||||
#endif /* !defined lint */
|
||||
|
||||
#include "private.h"
|
||||
|
||||
@ -22,35 +19,27 @@ static char elsieid[] = "@(#)strftime.c 8.1";
|
||||
** by the University of California, Berkeley. The name of the
|
||||
** University may not be used to endorse or promote products derived
|
||||
** from this software without specific prior written permission.
|
||||
** THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR
|
||||
** THIS SOFTWARE IS PROVIDED "AS IS" AND WITHOUT ANY EXPRESS OR
|
||||
** IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED
|
||||
** WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
|
||||
*/
|
||||
|
||||
#ifndef LIBC_SCCS
|
||||
#ifndef lint
|
||||
static const char sccsid[] = "@(#)strftime.c 5.4 (Berkeley) 3/14/89";
|
||||
#endif /* !defined lint */
|
||||
#endif /* !defined LIBC_SCCS */
|
||||
|
||||
#include "tzfile.h"
|
||||
#include "fcntl.h"
|
||||
#include "locale.h"
|
||||
#include <ctype.h>
|
||||
|
||||
#if __ANDROID__
|
||||
/* Android: struct lc_time_T is defined as strftime_locale in "bionic_time.h" */
|
||||
#include "private/bionic_time.h" /* for strftime_tz */
|
||||
#define lc_time_T strftime_locale
|
||||
#if defined(__LP64__)
|
||||
#define time64_t time_t
|
||||
#define mktime64 mktime
|
||||
#else
|
||||
#include <time64.h>
|
||||
#endif
|
||||
#include "private/bionic_time.h" /* for strftime_tz */
|
||||
|
||||
/* struct lc_time_T is now defined as strftime_locale
|
||||
* in <time.h>
|
||||
*/
|
||||
#if 1
|
||||
#define lc_time_T strftime_locale
|
||||
#else
|
||||
#include <ctype.h>
|
||||
#else // not __ANDROID__
|
||||
struct lc_time_T {
|
||||
const char * mon[MONSPERYEAR];
|
||||
const char * month[MONSPERYEAR];
|
||||
@ -65,7 +54,15 @@ struct lc_time_T {
|
||||
};
|
||||
#endif
|
||||
|
||||
#if LOCALE_HOME
|
||||
#include "sys/stat.h"
|
||||
static struct lc_time_T localebuf;
|
||||
static struct lc_time_T * _loc(void);
|
||||
#define Locale _loc()
|
||||
#endif /* defined LOCALE_HOME */
|
||||
#ifndef LOCALE_HOME
|
||||
#define Locale (&C_time_locale)
|
||||
#endif /* !defined LOCALE_HOME */
|
||||
|
||||
static const struct lc_time_T C_time_locale = {
|
||||
{
|
||||
|
Loading…
Reference in New Issue
Block a user