Message ID | 20250105055750.1668721-17-eggert@cs.ucla.edu (mailing list archive) |
---|---|
State | New |
Headers |
Return-Path: <libc-alpha-bounces~patchwork=sourceware.org@sourceware.org> X-Original-To: patchwork@sourceware.org Delivered-To: patchwork@sourceware.org Received: from server2.sourceware.org (localhost [IPv6:::1]) by sourceware.org (Postfix) with ESMTP id 6FDCC3858402 for <patchwork@sourceware.org>; Sun, 5 Jan 2025 06:04:20 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 6FDCC3858402 Authentication-Results: sourceware.org; dkim=pass (2048-bit key, unprotected) header.d=cs.ucla.edu header.i=@cs.ucla.edu header.a=rsa-sha256 header.s=9D0B346E-2AEB-11ED-9476-E14B719DCE6C header.b=e8PXtat7 X-Original-To: libc-alpha@sourceware.org Delivered-To: libc-alpha@sourceware.org Received: from mail.cs.ucla.edu (mail.cs.ucla.edu [131.179.128.66]) by sourceware.org (Postfix) with ESMTPS id 2BD1B3858C54 for <libc-alpha@sourceware.org>; Sun, 5 Jan 2025 05:58:55 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org 2BD1B3858C54 Authentication-Results: sourceware.org; dmarc=pass (p=none dis=none) header.from=cs.ucla.edu Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=cs.ucla.edu ARC-Filter: OpenARC Filter v1.0.0 sourceware.org 2BD1B3858C54 Authentication-Results: server2.sourceware.org; arc=none smtp.remote-ip=131.179.128.66 ARC-Seal: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1736056735; cv=none; b=Z2QON5HB5q+zIZj+XupD3XuDDmjbPHWkWJM+DLo2nSZpqFWWhqHHzc/ym77rsGZc/UbdN1WHgtfY8DTAEQumeqanV+RfVbnWs2ByElVrecA9Hw13ve2p6B7E/H09VfPvtv7SVNS3FHKw8lHKV5ZfvfErwMGEHFOF7iJVVbxVqc4= ARC-Message-Signature: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1736056735; c=relaxed/simple; bh=EMyCWbZ4wdOkL0Li8KC0jde1Lb1T9WOTsGo3j6nSXWo=; h=DKIM-Signature:From:To:Subject:Date:Message-ID:MIME-Version; b=EZyZJvhbX2APFWdV49ryODJhJHeXzsYRT/SX3XD6bNAt/wOJHzyG35KCHTNYe5wEoIr5M3A64BS/ZUFU1ZQuuA0+lD0NPYjKC2+wLdTGXuN8Wrm5BrU0qaCgnvax973YrOcgircgHR+QaMPmlyDybosYp9YeylxctmIh1kVRHso= ARC-Authentication-Results: i=1; server2.sourceware.org DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 2BD1B3858C54 Received: from localhost (localhost [127.0.0.1]) by mail.cs.ucla.edu (Postfix) with ESMTP id A56633C123847 for <libc-alpha@sourceware.org>; Sat, 4 Jan 2025 21:58:54 -0800 (PST) Received: from mail.cs.ucla.edu ([127.0.0.1]) by localhost (mail.cs.ucla.edu [127.0.0.1]) (amavis, port 10032) with ESMTP id D5Bf2UNQ1xMV; Sat, 4 Jan 2025 21:58:54 -0800 (PST) Received: from localhost (localhost [127.0.0.1]) by mail.cs.ucla.edu (Postfix) with ESMTP id 623AB3C123843; Sat, 4 Jan 2025 21:58:54 -0800 (PST) DKIM-Filter: OpenDKIM Filter v2.10.3 mail.cs.ucla.edu 623AB3C123843 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=cs.ucla.edu; s=9D0B346E-2AEB-11ED-9476-E14B719DCE6C; t=1736056734; bh=V8UAec+L7CmuzqlJw992Fz0QZiWgkFDX1hXrDO49qPw=; h=From:To:Date:Message-ID:MIME-Version; b=e8PXtat79qlIehnf+XA2THOexRJCkm9cI7Sewi+gk1RkZGQ8qpCoAxJdqvtjl2P1Z NLQMl6XXnfyS62dLFPjt5Tm+DM/fe+0yyhROvLEeNq03GGgDE2BG1xcTSf5SIOSxeF MJmWWr5EKgvjiPhLcQtjQHFQ6clkF80g61xG4dgK6QlAiEGPhJvT6SyyowGrkC0kWI zGL7J2AcoVD2yn/c2xf4gWg0PP00aZ90OOrj7lIiPgxmH/PZGYrIpO3rmLm6QqSHD2 rf93wvwhud2Pcdfwzf/kTuTlb3+2zfzrVE4xZtMCD6v09+eIMj6LFiNzyKZGzx4Tuf NrfmYNDiYEBcQ== X-Virus-Scanned: amavis at mail.cs.ucla.edu Received: from mail.cs.ucla.edu ([127.0.0.1]) by localhost (mail.cs.ucla.edu [127.0.0.1]) (amavis, port 10026) with ESMTP id vGnYyVUSitqk; Sat, 4 Jan 2025 21:58:54 -0800 (PST) Received: from wing.home (unknown [47.154.28.214]) by mail.cs.ucla.edu (Postfix) with ESMTPSA id 4C4803C082EB9; Sat, 4 Jan 2025 21:58:54 -0800 (PST) From: Paul Eggert <eggert@cs.ucla.edu> To: libc-alpha@sourceware.org Cc: Paul Eggert <eggert@cs.ucla.edu> Subject: [PATCH 16/59] Improve performance in 2 BC Date: Sat, 4 Jan 2025 21:56:51 -0800 Message-ID: <20250105055750.1668721-17-eggert@cs.ucla.edu> X-Mailer: git-send-email 2.45.2 In-Reply-To: <01207110-bd60-46ae-9c08-fb39c2011067@cs.ucla.edu> References: <01207110-bd60-46ae-9c08-fb39c2011067@cs.ucla.edu> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable X-Spam-Status: No, score=-10.1 required=5.0 tests=BAYES_00, DKIM_SIGNED, DKIM_VALID, DKIM_VALID_AU, GIT_PATCH_0, KAM_SHORT, SPF_HELO_NONE, SPF_PASS, TXREP autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on server2.sourceware.org X-BeenThere: libc-alpha@sourceware.org X-Mailman-Version: 2.1.30 Precedence: list List-Id: Libc-alpha mailing list <libc-alpha.sourceware.org> List-Unsubscribe: <https://sourceware.org/mailman/options/libc-alpha>, <mailto:libc-alpha-request@sourceware.org?subject=unsubscribe> List-Archive: <https://sourceware.org/pipermail/libc-alpha/> List-Post: <mailto:libc-alpha@sourceware.org> List-Help: <mailto:libc-alpha-request@sourceware.org?subject=help> List-Subscribe: <https://sourceware.org/mailman/listinfo/libc-alpha>, <mailto:libc-alpha-request@sourceware.org?subject=subscribe> Errors-To: libc-alpha-bounces~patchwork=sourceware.org@sourceware.org |
Series |
time: sync mktime from Gnulib
|
|
Checks
Context | Check | Description |
---|---|---|
redhat-pt-bot/TryBot-apply_patch | success | Patch applied to master at the time it was sent |
Commit Message
Paul Eggert
Jan. 5, 2025, 5:56 a.m. UTC
* time/tzset.c: Include <limits.h>, for INT_MIN. (parse_rule): Initialize computed_for to INT_MIN, not -1, as INT_MIN is otherwise impossible after adding 1900. (compute_change): Simplify accordingly. --- time/tzset.c | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-)
diff --git a/time/tzset.c b/time/tzset.c index bd3509307e..e869fbf3fd 100644 --- a/time/tzset.c +++ b/time/tzset.c @@ -16,6 +16,7 @@ <https://www.gnu.org/licenses/>. */ #include <ctype.h> +#include <limits.h> #include <stdbool.h> #include <stdckdint.h> #include <stddef.h> @@ -55,7 +56,8 @@ typedef struct /* We cache the computed time of change for a given year so we don't have to recompute it. */ __time64_t change; /* When to change to this zone. */ - int computed_for; /* Year above is computed for. */ + int computed_for; /* Year that CHANGE is computed for. + If INT_MIN, CHANGE is unspecified. */ } tz_rule; /* tz_rules[0] is standard, tz_rules[1] is daylight. */ @@ -339,7 +341,7 @@ parse_rule (const char **tzp, int whichrule) secs = 2 * 60 * 60; tzr->secs = secs; - tzr->computed_for = -1; + tzr->computed_for = INT_MIN; *tzp = tz; return true; } @@ -444,8 +446,7 @@ compute_change (tz_rule *rule, int year) { __time64_t t; - if (year != -1 && rule->computed_for == year) - /* Operations on times in 2 BC will be slower. Oh well. */ + if (rule->computed_for == year) return; /* First set T to January 1st, 0:00:00 GMT in YEAR. */