Source-Changes-HG archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
[src/trunk]: src/lib/libc/time Add tzgetgmtoff, delint compat
details: https://anonhg.NetBSD.org/src/rev/afa3a81e28f5
branches: trunk
changeset: 341283:afa3a81e28f5
user: christos <christos%NetBSD.org@localhost>
date: Thu Oct 29 17:49:24 2015 +0000
description:
Add tzgetgmtoff, delint compat
diffstat:
lib/libc/time/localtime.c | 27 +++++++++++++++++++++++----
1 files changed, 23 insertions(+), 4 deletions(-)
diffs (62 lines):
diff -r 0cfe0c93f5ef -r afa3a81e28f5 lib/libc/time/localtime.c
--- a/lib/libc/time/localtime.c Thu Oct 29 17:48:55 2015 +0000
+++ b/lib/libc/time/localtime.c Thu Oct 29 17:49:24 2015 +0000
@@ -1,4 +1,4 @@
-/* $NetBSD: localtime.c,v 1.98 2015/10/09 17:21:45 christos Exp $ */
+/* $NetBSD: localtime.c,v 1.99 2015/10/29 17:49:24 christos Exp $ */
/*
** This file is in the public domain, so clarified as of
@@ -10,7 +10,7 @@
#if 0
static char elsieid[] = "@(#)localtime.c 8.17";
#else
-__RCSID("$NetBSD: localtime.c,v 1.98 2015/10/09 17:21:45 christos Exp $");
+__RCSID("$NetBSD: localtime.c,v 1.99 2015/10/29 17:49:24 christos Exp $");
#endif
#endif /* LIBC_SCCS and not lint */
@@ -289,6 +289,25 @@
return NULL;
}
+long
+tzgetgmtoff(const timezone_t sp, int isdst)
+{
+ int i;
+ long l = -1;
+ for (i = 0; i < sp->timecnt; ++i) {
+ const struct ttinfo *const ttisp = &sp->ttis[sp->types[i]];
+
+ if (ttisp->tt_isdst == isdst) {
+ l = ttisp->tt_gmtoff;
+ if (sp->types[i] != 0)
+ return l;
+ }
+ }
+ if (l == -1)
+ errno = ESRCH;
+ return l;
+}
+
static void
scrub_abbrs(struct state *sp)
{
@@ -617,7 +636,7 @@
break;
}
if (! (j < charcnt)) {
- int tsabbrlen = strlen(tsabbr);
+ size_t tsabbrlen = strlen(tsabbr);
if (j + tsabbrlen < TZ_MAX_CHARS) {
strcpy(sp->chars + j, tsabbr);
charcnt = j + tsabbrlen + 1;
@@ -1253,7 +1272,7 @@
init_ttinfo(&sp->ttis[1], 0, false, 0);
sp->defaulttype = 0;
}
- sp->charcnt = charcnt;
+ sp->charcnt = (int)charcnt;
cp = sp->chars;
(void) memcpy(cp, stdname, stdlen);
cp += stdlen;
Home |
Main Index |
Thread Index |
Old Index