diff options
Diffstat (limited to 'usr/src/lib/libbc/libc/gen/4.2/timezone.c')
-rw-r--r-- | usr/src/lib/libbc/libc/gen/4.2/timezone.c | 99 |
1 files changed, 0 insertions, 99 deletions
diff --git a/usr/src/lib/libbc/libc/gen/4.2/timezone.c b/usr/src/lib/libbc/libc/gen/4.2/timezone.c deleted file mode 100644 index d1795123a1..0000000000 --- a/usr/src/lib/libbc/libc/gen/4.2/timezone.c +++ /dev/null @@ -1,99 +0,0 @@ -/* - * CDDL HEADER START - * - * The contents of this file are subject to the terms of the - * Common Development and Distribution License, Version 1.0 only - * (the "License"). You may not use this file except in compliance - * with the License. - * - * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE - * or http://www.opensolaris.org/os/licensing. - * See the License for the specific language governing permissions - * and limitations under the License. - * - * When distributing Covered Code, include this CDDL HEADER in each - * file and include the License file at usr/src/OPENSOLARIS.LICENSE. - * If applicable, add the following below this CDDL HEADER, with the - * fields enclosed by brackets "[]" replaced with your own identifying - * information: Portions Copyright [yyyy] [name of copyright owner] - * - * CDDL HEADER END - */ -/* - * Copyright 1986 Sun Microsystems, Inc. All rights reserved. - * Use is subject to license terms. - */ - -#pragma ident "%Z%%M% %I% %E% SMI" - /* from UCB 4.4 83/09/25 */ - -/* - * The arguments are the number of minutes of time - * you are westward from Greenwich and whether DST is in effect. - * It returns a string - * giving the name of the local timezone. - * - * Sorry, I don't know all the names. - */ - -static struct zone { - int offset; - char *stdzone; - char *dlzone; -} zonetab[] = { - -12*60, "NZST", "NZDT", /* New Zealand */ - -10*60, "EST", "EST", /* Aust: Eastern */ - -10*60+30, "CST", "CST", /* Aust: Central */ - -8*60, "WST", 0, /* Aust: Western */ - -9*60, "JST", 0, /* Japanese */ - 0*60, "GMT", "BST", /* Great Britain and Eire */ - -1*60, "MET", "MET DST", /* Middle European */ - -2*60, "EET", "EET DST", /* Eastern European */ - 3*60+30, "NST", "NDT", /* Newfoundland */ - 4*60, "AST", "ADT", /* Atlantic */ - 5*60, "EST", "EDT", /* Eastern */ - 6*60, "CST", "CDT", /* Central */ - 7*60, "MST", "MDT", /* Mountain */ - 8*60, "PST", "PDT", /* Pacific */ - 9*60, "YST", "YDT", /* Yukon */ - 10*60, "HST", "HDT", /* Hawaiian */ - -1 -}; - -char *timezone(zone, dst) -{ - register struct zone *zp; - static char czone[10]; - char *sign; - register char *p, *q; - char *getenv(), *index(); - - if (p = getenv("TZNAME")) { - if (q = index(p, ',')) { - if (dst) - return(++q); - else { - *q = '\0'; - strncpy(czone, p, sizeof(czone)-1); - czone[sizeof(czone)-1] = '\0'; - *q = ','; - return (czone); - } - } - return(p); - } - for (zp=zonetab; zp->offset!=-1; zp++) - if (zp->offset==zone) { - if (dst && zp->dlzone) - return(zp->dlzone); - if (!dst && zp->stdzone) - return(zp->stdzone); - } - if (zone<0) { - zone = -zone; - sign = "+"; - } else - sign = "-"; - sprintf(czone, "GMT%s%d:%02d", sign, zone/60, zone%60); - return(czone); -} |