From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id C0B73C52D7D for ; Sat, 17 Aug 2024 16:56:37 +0000 (UTC) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1sfMiq-0005Qe-0k; Sat, 17 Aug 2024 12:56:12 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1sfMio-0005QO-J8 for grub-devel@gnu.org; Sat, 17 Aug 2024 12:56:10 -0400 Received: from mail-lf1-x132.google.com ([2a00:1450:4864:20::132]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1sfMik-0005gr-F3 for grub-devel@gnu.org; Sat, 17 Aug 2024 12:56:10 -0400 Received: by mail-lf1-x132.google.com with SMTP id 2adb3069b0e04-52efd08e6d9so3589562e87.1 for ; Sat, 17 Aug 2024 09:56:06 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1723913764; x=1724518564; darn=gnu.org; h=content-transfer-encoding:mime-version:message-id:date:subject:cc :to:from:from:to:cc:subject:date:message-id:reply-to; bh=oYBS6FV2rPiajctG0Wkm48OD7mXODtPBcI3W6aubXiE=; b=PXTg81tF1bvdT/WsEbJShj12RO/jtLmdAaFrvT6xapomj3cYhD7DE2HF/8AoUpYK3V prHEKKeYN2RTn2o5V1cxyXd3C35MWIMwIrbJA06Rm+SSZTkBS+IBfzGMyHY2P5+/oweK 9ADCaisKuTO9Ztgg2OZB17ZuHQqa+T0/tRMO8lPTp3Ntjj+Cpu6+Ay9i8SnKeKNk0ekA H2k3M4KU6DtYVMRIUC4k4vOIzso9hhLboyhq8069HaszS2R0aN+QDcKhgyjRg+K9b2Yo wULGNU+o3mQ9f2VrjW8A/oOCBSptUyBbJj+kXybecEr100qb3e17El0lj3IGirtd1qWI ZuxQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1723913764; x=1724518564; h=content-transfer-encoding:mime-version:message-id:date:subject:cc :to:from:x-gm-message-state:from:to:cc:subject:date:message-id :reply-to; bh=oYBS6FV2rPiajctG0Wkm48OD7mXODtPBcI3W6aubXiE=; b=nxZ8HGKznCRIlMqu2+E29zZd7wqdSnk6Dgola+OYHCbJe1DRkFADLbR8oBnwAPjaqe B0YdnLpvfAHuBQjtIHqEI4/cu7dJD2LAzFpJkwIIQJUud20ormFbsPj6S7zvGo7jzgws q3/eOyB/6VbStGWAZP2TBBK/SqIrxAzJ0A9Ro5fGfOfsJsDAl/kSeIZVhQ5fnD4tRDup +8DEXjv9sd4vUj7x7GOVprfFnW9jGdBMdi/NnPvTH2Y2kzDFAZQTDrEnuC52d9yyyqPA syYd+niVnMGjFUreeZxKZErDvlpn9LX7rzQCq31fsl0Cx/k19Z/iMSQGcj11gjcRkEkn V0Tg== X-Gm-Message-State: AOJu0YyjYdBIx+5PWlYaa8Im7Lo69yRV5OEjIyyNuQFlTaZBVmyFyHYy cf+FTaMVc4tZ/SzYbu1XmX+iXjCmjXUNE8llBqyQyl+Tx6oMMxndHP6Zwdk7Q5A= X-Google-Smtp-Source: AGHT+IHLql/ilMUMstwEhg6OBsz4+uSrHV/HktUFPLAaL5AHS66Y6pSOeBdNJEK7XRH+SWG1kkOMNg== X-Received: by 2002:a05:6512:104f:b0:533:ad6:8119 with SMTP id 2adb3069b0e04-5331c6a1993mr4517406e87.14.1723913763144; Sat, 17 Aug 2024 09:56:03 -0700 (PDT) Received: from localhost (95-25-225-143.broadband.corbina.ru. [95.25.225.143]) by smtp.gmail.com with ESMTPSA id 2adb3069b0e04-5330d3af9d6sm955309e87.11.2024.08.17.09.56.02 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 17 Aug 2024 09:56:02 -0700 (PDT) From: Vladimir Serbinenko To: grub-devel@gnu.org Cc: Vladimir Serbinenko Subject: [PATCH 1/2] datetime: Support dates outside of 1901..2038 range Date: Sat, 17 Aug 2024 19:55:54 +0300 Message-Id: <20240817165555.10551-1-phcoder@gmail.com> X-Mailer: git-send-email 2.39.2 MIME-Version: 1.0 Received-SPF: pass client-ip=2a00:1450:4864:20::132; envelope-from=phcoder@gmail.com; helo=mail-lf1-x132.google.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, FREEMAIL_FROM=0.001, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, T_SCC_BODY_TEXT_LINE=-0.01 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: grub-devel@gnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: The development of GNU GRUB List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Reply-To: The development of GNU GRUB Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Errors-To: grub-devel-bounces+grub-devel=archiver.kernel.org@gnu.org Sender: grub-devel-bounces+grub-devel=archiver.kernel.org@gnu.org U2lnbmVkLW9mZi1ieTogVmxhZGltaXIgU2VyYmluZW5rbyA8cGhjb2RlckBnbWFpbC5jb20+Ci0t LQogZ3J1Yi1jb3JlL2xpYi9kYXRldGltZS5jIHwgMzEgKysrKysrKysrKysrKysrKysrKysrKysr LS0tLS0tLQogaW5jbHVkZS9ncnViL2RhdGV0aW1lLmggIHwgMTUgKysrKysrKy0tLS0tLS0tCiAy IGZpbGVzIGNoYW5nZWQsIDMxIGluc2VydGlvbnMoKyksIDE1IGRlbGV0aW9ucygtKQoKZGlmZiAt LWdpdCBhL2dydWItY29yZS9saWIvZGF0ZXRpbWUuYyBiL2dydWItY29yZS9saWIvZGF0ZXRpbWUu YwppbmRleCA5MTIwMTI4Y2EuLjliYWRkNTNkZCAxMDA2NDQKLS0tIGEvZ3J1Yi1jb3JlL2xpYi9k YXRldGltZS5jCisrKyBiL2dydWItY29yZS9saWIvZGF0ZXRpbWUuYwpAQCAtNTksNiArNTksOCBA QCBncnViX2dldF93ZWVrZGF5X25hbWUgKHN0cnVjdCBncnViX2RhdGV0aW1lICpkYXRldGltZSkK ICNkZWZpbmUgU0VDUEVSREFZICgyNCpTRUNQRVJIT1VSKQogI2RlZmluZSBEQVlTUEVSWUVBUiAz NjUKICNkZWZpbmUgREFZU1BFUjRZRUFSUyAoNCpEQVlTUEVSWUVBUisxKQorI2RlZmluZSBEQVlT UEVSMTAwWUVBUlMgKDEwMCpEQVlTUEVSWUVBUisyNCkKKyNkZWZpbmUgREFZU1BFUjQwMFlFQVJT ICg0MDAqREFZU1BFUllFQVIrOTcpCiAKIAogdm9pZApAQCAtNzEsNyArNzMsNyBAQCBncnViX3Vu aXh0aW1lMmRhdGV0aW1lIChncnViX2ludDY0X3Qgbml4LCBzdHJ1Y3QgZ3J1Yl9kYXRldGltZSAq ZGF0ZXRpbWUpCiAgIC8qIENvbnZlbmllbmNlOiBsZXQncyBoYXZlIDMgY29uc2VjdXRpdmUgbm9u LWJpc3NleHRpbGUgeWVhcnMKICAgICAgYXQgdGhlIGJlZ2lubmluZyBvZiB0aGUgY291bnRpbmcg ZGF0ZS4gU28gY291bnQgZnJvbSAxOTAxLiAqLwogICBpbnQgZGF5c19lcG9jaDsKLSAgLyogTnVt YmVyIG9mIGRheXMgc2luY2UgMXN0IEphbnVhciwgMTkwMS4gICovCisgIC8qIE51bWJlciBvZiBk YXlzIHNpbmNlIDFzdCBKYW51YXJ5LCAxNjAxIChwcm9sZXB0aWMpLiAgKi8KICAgdW5zaWduZWQg ZGF5czsKICAgLyogU2Vjb25kcyBpbnRvIGN1cnJlbnQgZGF5LiAgKi8KICAgdW5zaWduZWQgc2Vj c19pbl9kYXk7CkBAIC04Nyw5ICs4OSwyNSBAQCBncnViX3VuaXh0aW1lMmRhdGV0aW1lIChncnVi X2ludDY0X3Qgbml4LCBzdHJ1Y3QgZ3J1Yl9kYXRldGltZSAqZGF0ZXRpbWUpCiAgICAgZGF5c19l cG9jaCA9IGdydWJfZGl2bW9kNjQgKG5peCwgU0VDUEVSREFZLCBOVUxMKTsKIAogICBzZWNzX2lu X2RheSA9IG5peCAtIGRheXNfZXBvY2ggKiBTRUNQRVJEQVk7Ci0gIGRheXMgPSBkYXlzX2Vwb2No ICsgNjkgKiBEQVlTUEVSWUVBUiArIDE3OworICBkYXlzID0gZGF5c19lcG9jaCArIDM2OSAqIERB WVNQRVJZRUFSICsgMTcgKyAyNCAqIDM7CiAKLSAgZGF0ZXRpbWUtPnllYXIgPSAxOTAxICsgNCAq IChkYXlzIC8gREFZU1BFUjRZRUFSUyk7CisgIGRhdGV0aW1lLT55ZWFyID0gMTYwMSArIDQwMCAq IChkYXlzIC8gREFZU1BFUjQwMFlFQVJTKTsKKyAgZGF5cyAlPSBEQVlTUEVSNDAwWUVBUlM7CisK KyAgLyogT24gMzFzdCBEZWNlbWJlciBvZiBiaXNzZXh0aWxlIHllYXJzIDM2NSBkYXlzIGZyb20g dGhlIGJlZ2lubmluZworICAgICBvZiB0aGUgeWVhciBlbGFwc2VkIGJ1dCB5ZWFyIGlzbid0IGZp bmlzaGVkIHlldCAqLworICBpZiAoZGF5cyAvIERBWVNQRVIxMDBZRUFSUyA9PSA0KQorICAgIHsK KyAgICAgIGRhdGV0aW1lLT55ZWFyICs9IDM5NjsKKyAgICAgIGRheXMgLT0gMzk2KkRBWVNQRVJZ RUFSICsgOTY7CisgICAgfQorICBlbHNlCisgICAgeworICAgICAgZGF0ZXRpbWUtPnllYXIgKz0g MTAwICogKGRheXMgLyBEQVlTUEVSMTAwWUVBUlMpOworICAgICAgZGF5cyAlPSBEQVlTUEVSMTAw WUVBUlM7CisgICAgfQorCisgIGRhdGV0aW1lLT55ZWFyICs9IDQgKiAoZGF5cyAvIERBWVNQRVI0 WUVBUlMpOwogICBkYXlzICU9IERBWVNQRVI0WUVBUlM7CiAgIC8qIE9uIDMxc3QgRGVjZW1iZXIg b2YgYmlzc2V4dGlsZSB5ZWFycyAzNjUgZGF5cyBmcm9tIHRoZSBiZWdpbm5pbmcKICAgICAgb2Yg dGhlIHllYXIgZWxhcHNlZCBidXQgeWVhciBpc24ndCBmaW5pc2hlZCB5ZXQgKi8KQEAgLTEwMywx MSArMTIxLDEwIEBAIGdydWJfdW5peHRpbWUyZGF0ZXRpbWUgKGdydWJfaW50NjRfdCBuaXgsIHN0 cnVjdCBncnViX2RhdGV0aW1lICpkYXRldGltZSkKICAgICAgIGRhdGV0aW1lLT55ZWFyICs9IGRh eXMgLyBEQVlTUEVSWUVBUjsKICAgICAgIGRheXMgJT0gREFZU1BFUllFQVI7CiAgICAgfQorICBp bnQgaXNiaXNleHRpbGUgPSBkYXRldGltZS0+eWVhciAlIDQgPT0gMCAmJiAoZGF0ZXRpbWUtPnll YXIgJSAxMDAgIT0gMCB8fCBkYXRldGltZS0+eWVhciAlIDQwMCA9PSAwKTsKICAgZm9yIChpID0g MDsgaSA8IDEyCi0JICYmIGRheXMgPj0gKGk9PTEgJiYgZGF0ZXRpbWUtPnllYXIgJSA0ID09IDAK LQkJICAgICAgPyAyOSA6IG1vbnRoc1tpXSk7IGkrKykKLSAgICBkYXlzIC09IChpPT0xICYmIGRh dGV0aW1lLT55ZWFyICUgNCA9PSAwCi0JCQkgICAgPyAyOSA6IG1vbnRoc1tpXSk7CisJICYmIGRh eXMgPj0gKGk9PTEgJiYgaXNiaXNleHRpbGUgPyAyOSA6IG1vbnRoc1tpXSk7IGkrKykKKyAgICBk YXlzIC09IChpPT0xICYmIGlzYmlzZXh0aWxlID8gMjkgOiBtb250aHNbaV0pOwogICBkYXRldGlt ZS0+bW9udGggPSBpICsgMTsKICAgZGF0ZXRpbWUtPmRheSA9IDEgKyBkYXlzOwogICBkYXRldGlt ZS0+aG91ciA9IChzZWNzX2luX2RheSAvIFNFQ1BFUkhPVVIpOwpkaWZmIC0tZ2l0IGEvaW5jbHVk ZS9ncnViL2RhdGV0aW1lLmggYi9pbmNsdWRlL2dydWIvZGF0ZXRpbWUuaAppbmRleCBiY2VjNjM2 ZjAuLjkyODliMGQwMCAxMDA2NDQKLS0tIGEvaW5jbHVkZS9ncnViL2RhdGV0aW1lLmgKKysrIGIv aW5jbHVkZS9ncnViL2RhdGV0aW1lLmgKQEAgLTU0LDcgKzU0LDcgQEAgdm9pZCBncnViX3VuaXh0 aW1lMmRhdGV0aW1lIChncnViX2ludDY0X3Qgbml4LAogc3RhdGljIGlubGluZSBpbnQKIGdydWJf ZGF0ZXRpbWUydW5peHRpbWUgKGNvbnN0IHN0cnVjdCBncnViX2RhdGV0aW1lICpkYXRldGltZSwg Z3J1Yl9pbnQ2NF90ICpuaXgpCiB7Ci0gIGdydWJfaW50MzJfdCByZXQ7CisgIGdydWJfaW50NjRf dCByZXQ7CiAgIGludCB5NCwgYXk7CiAgIGNvbnN0IGdydWJfdWludDE2X3QgbW9udGhzc3VtWzEy XQogICAgID0geyAwLApAQCAtNzUsMTUgKzc1LDExIEBAIGdydWJfZGF0ZXRpbWUydW5peHRpbWUg KGNvbnN0IHN0cnVjdCBncnViX2RhdGV0aW1lICpkYXRldGltZSwgZ3J1Yl9pbnQ2NF90ICpuaXgp CiAgIGNvbnN0IGludCBTRUNQRVJIT1VSID0gNjAgKiBTRUNQRVJNSU47CiAgIGNvbnN0IGludCBT RUNQRVJEQVkgPSAyNCAqIFNFQ1BFUkhPVVI7CiAgIGNvbnN0IGludCBTRUNQRVJZRUFSID0gMzY1 ICogU0VDUEVSREFZOwotICBjb25zdCBpbnQgU0VDUEVSNFlFQVJTID0gNCAqIFNFQ1BFUllFQVIg KyBTRUNQRVJEQVk7CisgIGNvbnN0IGdydWJfaW50NjRfdCBTRUNQRVI0WUVBUlMgPSA0ICogU0VD UEVSWUVBUiArIFNFQ1BFUkRBWTsKIAotICBpZiAoZGF0ZXRpbWUtPnllYXIgPiAyMDM4IHx8IGRh dGV0aW1lLT55ZWFyIDwgMTkwMSkKLSAgICByZXR1cm4gMDsKICAgaWYgKGRhdGV0aW1lLT5tb250 aCA+IDEyIHx8IGRhdGV0aW1lLT5tb250aCA8IDEpCiAgICAgcmV0dXJuIDA7CiAKLSAgLyogSW4g dGhlIHBlcmlvZCBvZiB2YWxpZGl0eSBvZiB1bml4dGltZSBhbGwgeWVhcnMgZGl2aXNpYmxlIGJ5 IDQKLSAgICAgYXJlIGJpc3NleHRpbGUqLwogICAvKiBDb252ZW5pZW5jZTogbGV0J3MgaGF2ZSAz IGNvbnNlY3V0aXZlIG5vbi1iaXNzZXh0aWxlIHllYXJzCiAgICAgIGF0IHRoZSBiZWdpbm5pbmcg b2YgdGhlIGVwb2NoLiBTbyBjb3VudCBmcm9tIDE5NzMgaW5zdGVhZCBvZiAxOTcwICovCiAgIHJl dCA9IDMgKiBTRUNQRVJZRUFSICsgU0VDUEVSREFZOwpAQCAtOTQsMTMgKzkwLDE2IEBAIGdydWJf ZGF0ZXRpbWUydW5peHRpbWUgKGNvbnN0IHN0cnVjdCBncnViX2RhdGV0aW1lICpkYXRldGltZSwg Z3J1Yl9pbnQ2NF90ICpuaXgpCiAgIHJldCArPSB5NCAqIFNFQ1BFUjRZRUFSUzsKICAgcmV0ICs9 IGF5ICogU0VDUEVSWUVBUjsKIAorICByZXQgLT0gKChkYXRldGltZS0+eWVhciAtIDEpIC8gMTAw IC0gKGRhdGV0aW1lLT55ZWFyIC0gMSkgLyA0MDAgLSAxNSkgKiBTRUNQRVJEQVk7CisKICAgcmV0 ICs9IG1vbnRoc3N1bVtkYXRldGltZS0+bW9udGggLSAxXSAqIFNFQ1BFUkRBWTsKLSAgaWYgKGF5 ID09IDMgJiYgZGF0ZXRpbWUtPm1vbnRoID49IDMpCisgIGludCBpc2Jpc2V4dGlsZSA9IGF5ID09 IDMgJiYgKGRhdGV0aW1lLT55ZWFyICUgMTAwICE9IDAgfHwgZGF0ZXRpbWUtPnllYXIgJSA0MDAg PT0gMCk7CisgIGlmIChpc2Jpc2V4dGlsZSAmJiBkYXRldGltZS0+bW9udGggPj0gMykKICAgICBy ZXQgKz0gU0VDUEVSREFZOwogCiAgIHJldCArPSAoZGF0ZXRpbWUtPmRheSAtIDEpICogU0VDUEVS REFZOwogICBpZiAoKGRhdGV0aW1lLT5kYXkgPiBtb250aHNbZGF0ZXRpbWUtPm1vbnRoIC0gMV0K LSAgICAgICAmJiAoIWF5IHx8IGRhdGV0aW1lLT5tb250aCAhPSAyIHx8IGRhdGV0aW1lLT5kYXkg IT0gMjkpKQorICAgICAgICYmICEoaXNiaXNleHRpbGUgJiYgZGF0ZXRpbWUtPm1vbnRoID09IDIg JiYgZGF0ZXRpbWUtPmRheSA9PSAyOSkpCiAgICAgICB8fCBkYXRldGltZS0+ZGF5IDwgMSkKICAg ICByZXR1cm4gMDsKIAotLSAKMi4zOS4yCgoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX18KR3J1Yi1kZXZlbCBtYWlsaW5nIGxpc3QKR3J1Yi1kZXZlbEBnbnUu b3JnCmh0dHBzOi8vbGlzdHMuZ251Lm9yZy9tYWlsbWFuL2xpc3RpbmZvL2dydWItZGV2ZWwK