From debbugs-submit-bounces@debbugs.gnu.org Fri Sep 06 10:06:42 2024 Received: (at submit) by debbugs.gnu.org; 6 Sep 2024 14:06:42 +0000 Received: from localhost ([127.0.0.1]:53700 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1smZbl-0001UP-R9 for submit@debbugs.gnu.org; Fri, 06 Sep 2024 10:06:42 -0400 Received: from lists.gnu.org ([209.51.188.17]:35978) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1smZbj-0001UH-OE for submit@debbugs.gnu.org; Fri, 06 Sep 2024 10:06:40 -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 1smZbk-0002SG-1U for bug-coreutils@gnu.org; Fri, 06 Sep 2024 10:06:40 -0400 Received: from mo4-p00-ob.smtp.rzone.de ([81.169.146.218]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1smZbh-0004OP-TW for bug-coreutils@gnu.org; Fri, 06 Sep 2024 10:06:39 -0400 ARC-Seal: i=1; a=rsa-sha256; t=1725631594; cv=none; d=strato.com; s=strato-dkim-0002; b=Qu/IH5gXdwG+KCTciPpJh3wT/eovkgnH9Yfwr8rVsimzxzxmOj9aUOnG4aYxS9GnJD nlwwygNBpuGVvlmn6lI2LeiwNkwinhIEMEFGVoD1h6AvJyzKFCKGTjFHCnjwR0QAYcOQ /PT7kK5VCyCh6cO8CS1Z2YhZltAyHkV++HYva9eqWr5MKvMLy/OewWC0SvW7HyH4sGqG EB/fwfbUiaZb3USWOBPT3AuCBA7nsVEkBNPOR3CRu7179CAKtoW6b90RV5khb+x6ZpE6 6L47yIyqQjeghpnNaB2rK5ZaFeXopl+QbT5ssNiLi5Qx/Xb4uM/pwrV35J31SlUpeeOg 4vUQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; t=1725631594; s=strato-dkim-0002; d=strato.com; h=Message-ID:Date:Subject:To:From:Cc:Date:From:Subject:Sender; bh=Dd6hvHuco9BYL9Dat5vIw+XZRUki6nsOXo/KUNq1YO0=; b=mNg+NraBOVMR9OG+Hm+I8A8On+BgKZU9eml3RoMNLULWoVnOoJjmbpQ44zvcH84LXw NFnYEGW8wt0r1IvXNNUHTQjsr5MFnDMycafYoGeKOaqvx8aTQ6M0hsmq0kw5VcocJXD8 TeDeaIKdZRKCOK+Z7GXcCwUNkbRFM4XautyS316NcB4r3THLwD3If6fF+PkLWE67sldF 7d8/x6J8cfrT7xFUuzV+LeEPXDnVxXyS/reUDTz0ppForhqIRpj53x1N9kbYKi6YEPvP yQ+Y9trrR52HfrQgxGMXXmeMlvCP7EMpg24SSZ6n4tNX3l/i3x7dLvkWaBOmeDfJ96oL RxDA== ARC-Authentication-Results: i=1; strato.com; arc=none; dkim=none X-RZG-CLASS-ID: mo00 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; t=1725631594; s=strato-dkim-0002; d=clisp.org; h=Message-ID:Date:Subject:To:From:Cc:Date:From:Subject:Sender; bh=Dd6hvHuco9BYL9Dat5vIw+XZRUki6nsOXo/KUNq1YO0=; b=lxWyoopNP+INF1YaUccy0FjXg08Ue/i6YoV3GT3tXOULJ1sXYH9YvuDlL2sD8b8M73 zulDOfPkMdlagCKxYNjkblIGgRQWTa2RV1KTIo3UI7Kmzo/y8nsuerJnX07PXo2Dne1d TiPWf3++XSZy6CfPdWTUmk9hj1BQdDSn0VePw1WUnVvq6V72R7IfoU+vZUwaOj12rlkw uaZNbMFECxc4/6aDtp5RqGtCSheLY5ueBMNIkv5KFiXkFrEXSTyZO3IWwGHNiFb0N2XD MXm6KR5To8y18BISIhmX4dLD1cJ1LiBwtdVP9jywkewKa1P1Dwkd8FCB9x5LNOb6d4N0 IEKg== DKIM-Signature: v=1; a=ed25519-sha256; c=relaxed/relaxed; t=1725631594; s=strato-dkim-0003; d=clisp.org; h=Message-ID:Date:Subject:To:From:Cc:Date:From:Subject:Sender; bh=Dd6hvHuco9BYL9Dat5vIw+XZRUki6nsOXo/KUNq1YO0=; b=d83jGlz0mN2582yHN2dCT5RPKmWUqX5Hdt0L/UBnLxk1JuW0WCMU7e1dDjTd0397Bk 0aSrz80/iMVa8c2ww+Bw== X-RZG-AUTH: ":Ln4Re0+Ic/6oZXR1YgKryK8brlshOcZlLnY4jECd2hdUURIbZgL8PX2QiTuZ3cdB8X/nqm2ZHWMunzFi3uOEAcb8g1Nvgrg=" Received: from nimes.localnet by smtp.strato.de (RZmta 51.2.3 AUTH) with ESMTPSA id N17ea7086E6YP3P (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256 bits)) (Client did not present a certificate); Fri, 6 Sep 2024 16:06:34 +0200 (CEST) From: Bruno Haible To: bug-coreutils@gnu.org Subject: printf: please implement POSIX:2024 argument reordering Date: Fri, 06 Sep 2024 16:06:34 +0200 Message-ID: <2220600.3uDm00564X@nimes> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="iso-8859-1" Received-SPF: none client-ip=81.169.146.218; envelope-from=bruno@clisp.org; helo=mo4-p00-ob.smtp.rzone.de X-Spam_score_int: -27 X-Spam_score: -2.8 X-Spam_bar: -- X-Spam_report: (-2.8 / 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, RCVD_IN_DNSWL_LOW=-0.7, RCVD_IN_MSPIKE_H4=0.001, RCVD_IN_MSPIKE_WL=0.001, SPF_HELO_PASS=-0.001, SPF_NONE=0.001, T_SCC_BODY_TEXT_LINE=-0.01 autolearn=ham autolearn_force=no X-Spam_action: no action X-Spam-Score: -2.3 (--) X-Debbugs-Envelope-To: submit X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -3.3 (---) Hi, POSIX:2024 specifies that printf(1) should support numbered conversion specifications: https://pubs.opengroup.org/onlinepubs/9799919799/utilities/printf.html https://austingroupbugs.net/view.php?id=3D1592 Could this support please be added to GNU coreutils? As of coreutils 9.5, I still get: $ /usr/bin/printf 'abc%2$sdef%1$sxxx\n' 1 2 abc/usr/bin/printf: %2$: invalid conversion specification Rationale: It was pointed out in https://austingroupbugs.net/view.php?id=3D= 1592 that these four statements do all the same thing: 1) pid=3D$$; eval_gettext "Running as process number \$pid."; echo 2) printf_gettext "Running as process number %d." $$; echo 3) printf "`gettext 'Running as process number %d.'`" $$; echo 4) printf $(gettext 'Running as process number %d.') $$; echo The first one has the drawback that it requires the programmer to add backslashes to their format strings. The second one has the drawback that it requires a 'printf_gettext' program (that does not yet exist). The third and fourth one (suggested by J=F6rg Schilling, IIRC) feel more natural to a shell script programmer. However, they require that printf supports numbered arguments. In the first time, we would use a shorthand $printf where (on most GNU systems) printf=3D'/usr/bin/printf', until bash, dash, etc. support it as well. The long-term goal is to be able to change the GNU gettext documentation https://www.gnu.org/software/gettext/manual/html_node/sh.html to list: " Formatting with positions printf " Bruno From debbugs-submit-bounces@debbugs.gnu.org Mon Sep 09 14:31:54 2024 Received: (at 73068) by debbugs.gnu.org; 9 Sep 2024 18:31:54 +0000 Received: from localhost ([127.0.0.1]:34133 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1snjB3-0005Ns-RB for submit@debbugs.gnu.org; Mon, 09 Sep 2024 14:31:54 -0400 Received: from mail-wm1-f41.google.com ([209.85.128.41]:61645) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1snjB1-0005Ne-JT for 73068@debbugs.gnu.org; Mon, 09 Sep 2024 14:31:52 -0400 Received: by mail-wm1-f41.google.com with SMTP id 5b1f17b1804b1-42cafda818aso21577245e9.2 for <73068@debbugs.gnu.org>; Mon, 09 Sep 2024 11:31:47 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1725906642; x=1726511442; darn=debbugs.gnu.org; h=content-transfer-encoding:in-reply-to:from:content-language :references:to:subject:user-agent:mime-version:date:message-id :sender:from:to:cc:subject:date:message-id:reply-to; bh=KKNnada5mmdmXbTvPouz5irPrSiMpqnElcirRtdMVEk=; b=mYnbJEcJPN1VkiLi4u0ScSgefkbQLVBBoMc+O4im+l2MUJ55vH1HiCip4b54aSsTCG 29G37e/em2kuIxDUlzfAjxhZALxQnOlGiB6viGsI3LzBLp8S59Jaj3dLOths6glTUVEW RZQo+dXmghS8sOex6LsQjdLT0w0YP11AprqtwKOtz5kfvnL2MvIzRLiW3knUZVeHtncX MXBgJruspXWBjFwAtq9LmH7FqEcKEqwMN2WqjmW4iMwYqn7WuI9u/MxiEYkjKjiyca8z O1kW1WJlrLlChbFCIYmNxVfCZadg5kidftkrnkxkK4tHeVOT08pOYyGOVfx5yW3AUPAn p45Q== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1725906642; x=1726511442; h=content-transfer-encoding:in-reply-to:from:content-language :references:to:subject:user-agent:mime-version:date:message-id :sender:x-gm-message-state:from:to:cc:subject:date:message-id :reply-to; bh=KKNnada5mmdmXbTvPouz5irPrSiMpqnElcirRtdMVEk=; b=uAa9qGVTbYkpWdiJwZQ1X0Ade5TJRl3n0l9MdpHw6+NNWXVy385Cq9ks2yk0c572FA 0LYbzC3gqr/mCEcs1vv3nqr37P5npTJGWS2LPwYMf3GlrwKZhUAy7sLfMUKN7sZrKCWK 6W9QE0tT86n/w+F5cWtaIwRhihZrxUSIkOHVP15DXkPsI9DlBoDq5Te4fn8XL2ABWx48 IbTYHKFYO0DcTypFw0N2xACx79tCL2xGuPIFu7UqjEl4QsS+woPO6kW8eBp1pJTbe3gx MatoLSf2txtpN4aeGYozaPkKVlCVG8kIyWkg6zkrDvogLQ1mUSC8uJmcVYQJfC850OOs gaRw== X-Forwarded-Encrypted: i=1; AJvYcCWYWPuTQnL59VwB6Dz2t6d8EpbHl44K+L0N5jltUzfeO2GTpYrl8BC9hUvMQTjutWdH3xzO+g==@debbugs.gnu.org X-Gm-Message-State: AOJu0Yz/FrD3gbFtsfDx8iDWS+RAD/Z7kju66B+cnD81Vqbv3HYHLvpM KpBvPGSs7O1dLT7Lgi7ZPDJBA06wMxMMcN7MLIBkrxFgtWNwN910 X-Google-Smtp-Source: AGHT+IHZplSH1mDVWjgiq8gvXviNPqUCoKpx6bB32fimE2xT8kT9kJcvsA2KuZf/ab9zG3IvAhiY+g== X-Received: by 2002:a05:600c:4ec9:b0:42c:af06:703 with SMTP id 5b1f17b1804b1-42caf060a7cmr58660015e9.31.1725906641262; Mon, 09 Sep 2024 11:30:41 -0700 (PDT) Received: from [192.168.1.76] (86-44-211-146-dynamic.agg2.lod.rsl-rtd.eircom.net. [86.44.211.146]) by smtp.googlemail.com with ESMTPSA id 5b1f17b1804b1-42cae4ed007sm85053305e9.11.2024.09.09.11.30.40 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Mon, 09 Sep 2024 11:30:40 -0700 (PDT) Message-ID: <4856ebd5-c283-4e83-b59d-b7cf17d0c147@draigBrady.com> Date: Mon, 9 Sep 2024 19:30:38 +0100 MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Beta Subject: Re: bug#73068: printf: please implement POSIX:2024 argument reordering To: Bruno Haible , 73068@debbugs.gnu.org References: <2220600.3uDm00564X@nimes> Content-Language: en-US From: =?UTF-8?Q?P=C3=A1draig_Brady?= In-Reply-To: <2220600.3uDm00564X@nimes> Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 8bit X-Spam-Score: 0.2 (/) X-Debbugs-Envelope-To: 73068 X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.8 (/) On 06/09/2024 15:06, Bruno Haible wrote: > Hi, > > POSIX:2024 specifies that printf(1) should support numbered conversion > specifications: > https://pubs.opengroup.org/onlinepubs/9799919799/utilities/printf.html > https://austingroupbugs.net/view.php?id=1592 > > Could this support please be added to GNU coreutils? As of coreutils 9.5, > I still get: > > $ /usr/bin/printf 'abc%2$sdef%1$sxxx\n' 1 2 > abc/usr/bin/printf: %2$: invalid conversion specification This make sense to implement. I see ksh and FreeBSD at least, already have. I'll have a look at doing this. thank you, Pádraig From debbugs-submit-bounces@debbugs.gnu.org Thu Sep 12 12:17:20 2024 Received: (at 73068-done) by debbugs.gnu.org; 12 Sep 2024 16:17:20 +0000 Received: from localhost ([127.0.0.1]:41738 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1somVS-0002it-Qx for submit@debbugs.gnu.org; Thu, 12 Sep 2024 12:17:19 -0400 Received: from mail-wm1-f41.google.com ([209.85.128.41]:58861) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1somVO-0002iX-2k for 73068-done@debbugs.gnu.org; Thu, 12 Sep 2024 12:17:17 -0400 Received: by mail-wm1-f41.google.com with SMTP id 5b1f17b1804b1-42cb2191107so9515625e9.1 for <73068-done@debbugs.gnu.org>; Thu, 12 Sep 2024 09:17:06 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1726157760; x=1726762560; darn=debbugs.gnu.org; h=in-reply-to:content-language:references:to:from:subject:user-agent :mime-version:date:message-id:sender:from:to:cc:subject:date :message-id:reply-to; bh=F04sCwnlJfAX6w108tD7FGWj3z3U8UeFIRtuMhEx2xI=; b=MD4YAlrH+80XWgm1k9WwQ+yRGIfGt1zxet/qHHe9pv/WnddjYC7rLUe31H1zUZrLrq 1LwR+tfNa4WEOHslezM77bhNKBOoKvo6A52OFzB57HyJ0n8PuvGAmY06QeVswkLySJ3S Of44Idgvjw0aLXBvlyNvpIdEv0W7Crv6aJ0GCKofgBp1zF/LGKGPJiQDrRPw1hgRgSlk gMDdBZhyPjxVe/vMlZdGNg8Q6lJ1HaHPHow9VR/Hgd2jHRpNemLE97kgURTccQTqvY3n RcSvN3NAWXuDeQ/v11Z7SacL+Ot6JxHLnXM616xr/wPfKPANtkvGSeBtyC4SG6Sqz1c4 D0jw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1726157760; x=1726762560; h=in-reply-to:content-language:references:to:from:subject:user-agent :mime-version:date:message-id:sender:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=F04sCwnlJfAX6w108tD7FGWj3z3U8UeFIRtuMhEx2xI=; b=MZ3bsI3JTZ+a1Gmc8nuPsyAqBDAwDo2suB2mzVp97aAibxruFeiHmL6jbGrE5trBUr luNETqBAPl4jhnk+9eO71EUMVdegf0JAG/NwDPFELUAMOlc1P3rffyUxl2C8lF/b35Ms NJdVUDXgvvA8UanacuErt8BcVKYbxFu1qaszzzwK3wLEIDnULfU9E8SFPUkdOfBREkZb Z5DSfuC/1apw/Kxi+S+fEA5XTSTR+AdFP7dB/XMyc18rZKihB2+FOaSOFXM1TuFlWsZI sQ5x9OThBLR45G/cnYirKGGnGqELzKhU58hQT4OGbVW/u6KOHK0o/5i2u591iiU3OEpn IBmg== X-Forwarded-Encrypted: i=1; AJvYcCVu1fi+gzyLFyeTY65fazBeFX3jCuy2j6UbF9GkKU2p5Pl/kcaO7Z69yUc2m58+OHWKNEdIsH5q9ksS@debbugs.gnu.org X-Gm-Message-State: AOJu0YxIRa9Vl5XsuLy3lu0+kyTj+4jOz9tBlhDFqjRIHUXnHmHXH9qe rE3L0TtynTeNO4x+oDiBSZcJ4tPbpUcxgZYAl//Tfjg8s/lbM9yE X-Google-Smtp-Source: AGHT+IFAM0bbAtwhGWY7qFPkvumiEij+AaDyYNcuymO/AXwWUC79S/sOtnf0tNZLTyyqu9VarOg4QA== X-Received: by 2002:a05:6000:87:b0:367:9881:7d66 with SMTP id ffacd0b85a97d-378c2d4d703mr2070130f8f.41.1726157759567; Thu, 12 Sep 2024 09:15:59 -0700 (PDT) Received: from [192.168.1.76] (86-44-211-146-dynamic.agg2.lod.rsl-rtd.eircom.net. [86.44.211.146]) by smtp.googlemail.com with ESMTPSA id 5b1f17b1804b1-42caeb32639sm178442475e9.13.2024.09.12.09.15.58 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Thu, 12 Sep 2024 09:15:58 -0700 (PDT) Content-Type: multipart/mixed; boundary="------------8PjsAmsU0Pc1tbtCcnQvuLkA" Message-ID: Date: Thu, 12 Sep 2024 17:15:56 +0100 MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Beta Subject: Re: bug#73068: printf: please implement POSIX:2024 argument reordering From: =?UTF-8?Q?P=C3=A1draig_Brady?= To: Bruno Haible , 73068-done@debbugs.gnu.org References: <2220600.3uDm00564X@nimes> <4856ebd5-c283-4e83-b59d-b7cf17d0c147@draigBrady.com> Content-Language: en-US In-Reply-To: <4856ebd5-c283-4e83-b59d-b7cf17d0c147@draigBrady.com> X-Spam-Score: 0.2 (/) X-Debbugs-Envelope-To: 73068-done X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.8 (/) This is a multi-part message in MIME format. --------------8PjsAmsU0Pc1tbtCcnQvuLkA Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 8bit On 09/09/2024 19:30, Pádraig Brady wrote: > On 06/09/2024 15:06, Bruno Haible wrote: >> Hi, >> >> POSIX:2024 specifies that printf(1) should support numbered conversion >> specifications: >> https://pubs.opengroup.org/onlinepubs/9799919799/utilities/printf.html >> https://austingroupbugs.net/view.php?id=1592 >> >> Could this support please be added to GNU coreutils? As of coreutils 9.5, >> I still get: >> >> $ /usr/bin/printf 'abc%2$sdef%1$sxxx\n' 1 2 >> abc/usr/bin/printf: %2$: invalid conversion specification > > > This make sense to implement. > I see ksh and FreeBSD at least, already have. > I'll have a look at doing this. I'll apply the attached sometime tomorrow. Marking this as done. cheers, Pádraig --------------8PjsAmsU0Pc1tbtCcnQvuLkA Content-Type: text/x-patch; charset=UTF-8; name="printf-indexed.patch" Content-Disposition: attachment; filename="printf-indexed.patch" Content-Transfer-Encoding: base64 RnJvbSA5N2U1NWM3YWNlOWU5ZTQ2YTMyZmFhMGQ1OTI4NzA5ODNhMTQzNjdiIE1vbiBTZXAg MTcgMDA6MDA6MDAgMjAwMQpGcm9tOiA9P1VURi04P3E/UD1DMz1BMWRyYWlnPTIwQnJhZHk/ PSA8UEBkcmFpZ0JyYWR5LmNvbT4KRGF0ZTogV2VkLCAxMSBTZXAgMjAyNCAxNjowNzo0OCAr MDEwMApTdWJqZWN0OiBbUEFUQ0hdIHByaW50ZjogYWRkIGluZGV4ZWQgYXJndW1lbnQgc3Vw cG9ydAoKKiBzcmMvcHJpbnRmLmMgKHByaW50X2Zvcm1hdHRlZCk6IEFkZCBzdXBwb3J0IGZv ciAlaSQgaW5kZXhlZCBhcmdzLgoqIHRlc3RzL3ByaW50Zi9wcmludGYtaW5kZXhlZC5zaDog QWRkIGEgbmV3IGZpbGUgb2YgdGVzdCBjYXNlcy4KKiB0ZXN0cy9sb2NhbC5tazogUmVmZXJl bmNlIHRoZSBuZXcgdGVzdCBmaWxlLgoqIGRvYy9jb3JldXRpbHMudGV4aSAocHJpbnRmIGlu dm9jYXRpb24pOiBNZW50aW9uIGhvdyBtaXhlZApwcm9jZXNzaW5nIG9mIGluZGV4ZWQgYW5k IHNlcXVlbnRpYWwgcmVmZXJlbmNlcyBhcmUgc3VwcG9ydGVkLAp1bmxpa2UgdGhlIHByaW50 ZigyKSBsaWJyYXJ5IGZ1bmN0aW9uLgoqIE5FV1M6IE1lbnRpb24gdGhlIG5ldyBmZWF0dXJl LgpUaGVzZSBhcmUgc3BlY2lmaWVkIGluIFBPU0lYOjIwMjQuCkFkZHJlc3NlcyBodHRwczov L2J1Z3MuZ251Lm9yZy83MzA2OAotLS0KIE5FV1MgICAgICAgICAgICAgICAgICAgICAgICAg ICB8ICAgNCArCiBkb2MvY29yZXV0aWxzLnRleGkgICAgICAgICAgICAgfCAgIDYgKysKIHNy Yy9wcmludGYuYyAgICAgICAgICAgICAgICAgICB8IDE3OSArKysrKysrKysrKysrKysrKysr Ky0tLS0tLS0tLS0tLS0KIHRlc3RzL2xvY2FsLm1rICAgICAgICAgICAgICAgICB8ICAgMSAr CiB0ZXN0cy9wcmludGYvcHJpbnRmLWluZGV4ZWQuc2ggfCAgOTMgKysrKysrKysrKysrKysr KysKIDUgZmlsZXMgY2hhbmdlZCwgMjE1IGluc2VydGlvbnMoKyksIDY4IGRlbGV0aW9ucygt KQogY3JlYXRlIG1vZGUgMTAwNzU1IHRlc3RzL3ByaW50Zi9wcmludGYtaW5kZXhlZC5zaAoK ZGlmZiAtLWdpdCBhL05FV1MgYi9ORVdTCmluZGV4IGUxZDNmODJkMS4uNjA5NGRlOGQyIDEw MDY0NAotLS0gYS9ORVdTCisrKyBiL05FV1MKQEAgLTQwLDYgKzQwLDEwIEBAIEdOVSBjb3Jl dXRpbHMgTkVXUyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC0qLSBvdXRs aW5lIC0qLQogICBscyBub3cgc3VwcG9ydHMgdGhlIC0tc29ydD1uYW1lIG9wdGlvbiwKICAg dG8gZXhwbGljaXRseSBzZWxlY3QgdGhlIGRlZmF1bHQgb3BlcmF0aW9uIG9mIHNvcnRpbmcg YnkgZmlsZSBuYW1lLgogCisgIHByaW50ZiBub3cgc3VwcG9ydHMgaW5kZXhlZCBhcmd1bWVu dHMsIHVzaW5nIHRoZSBQT1NJWDoyMDI0IHNwZWNpZmllZAorICAlaSQgZm9ybWF0LCB3aGVy ZSAnaScgaXMgYW4gaW50ZWdlciByZWZlcmVuY2luZyBhIHBhcnRpY3VsYXIgYXJndW1lbnQs CisgIHRodXMgYWxsb3dpbmcgcmVwZXRpdGlvbiBvciByZW9yZGVyaW5nIG9mIHByaW50ZiBh cmd1bWVudHMuCisKICoqIEltcHJvdmVtZW50cwogCiAgICdoZWFkIC1jIE5VTScsICdoZWFk IC1uIE5VTScsICdubCAtbCBOVU0nLCAnbnByb2MgLS1pZ25vcmUgTlVNJywKZGlmZiAtLWdp dCBhL2RvYy9jb3JldXRpbHMudGV4aSBiL2RvYy9jb3JldXRpbHMudGV4aQppbmRleCA1OGI0 MjU3NzkuLjlmZTk1MzU4NyAxMDA2NDQKLS0tIGEvZG9jL2NvcmV1dGlscy50ZXhpCisrKyBi L2RvYy9jb3JldXRpbHMudGV4aQpAQCAtMTM0MjksNiArMTM0MjksMTIgQEAgTWlzc2luZyBA dmFye2FyZ3VtZW50fXMgYXJlIHRyZWF0ZWQgYXMgbnVsbCBzdHJpbmdzIG9yIGFzIHplcm9z LAogZGVwZW5kaW5nIG9uIHdoZXRoZXIgdGhlIGNvbnRleHQgZXhwZWN0cyBhIHN0cmluZyBv ciBhIG51bWJlci4gIEZvcgogZXhhbXBsZSwgdGhlIGNvbW1hbmQgQHNhbXB7cHJpbnRmICVz eCVkfSBwcmludHMgQHNhbXB7eDB9LgogCitAaXRlbQorSW5kZXhlZCBhcmd1bWVudHMgcmVm ZXJlbmNlZCB3aXRoIEBzYW1weyVpJH0gZm9ybWF0cywgY2FuIGJlCittaXhlZCB3aXRoIHN0 YW5kYXJkIHNlcXVlbnRpYWwgYXJndW1lbnQgcmVmZXJlbmNlcywKK2luIHdoaWNoIGNhc2Ug Ym90aCBpbmRleCB0eXBlcyBhcmUgaW5kZXBlbmRlbnQuCitGb3IgZXhhbXBsZSwgdGhlIGNv bW1hbmQgQHNhbXB7cHJpbnRmICclMSRzJXMnIEF9IHByaW50cyBAc2FtcHtBQX0sCisKIEBp dGVtCiBAa2luZGV4IFxjCiBBbiBhZGRpdGlvbmFsIGVzY2FwZSwgQHNhbXB7XGN9LCBjYXVz ZXMgQGNvbW1hbmR7cHJpbnRmfSB0byBwcm9kdWNlIG5vCmRpZmYgLS1naXQgYS9zcmMvcHJp bnRmLmMgYi9zcmMvcHJpbnRmLmMKaW5kZXggZGUzNTA3OTI1Li5iMWM3ZGQ1NjEgMTAwNjQ0 Ci0tLSBhL3NyYy9wcmludGYuYworKysgYi9zcmMvcHJpbnRmLmMKQEAgLTI5MSwxNSArMjkx LDEzIEBAIHByaW50X2VzY19zdHJpbmcgKGNoYXIgY29uc3QgKnN0cikKIH0KIAogLyogRXZh bHVhdGUgYSBwcmludGYgY29udmVyc2lvbiBzcGVjaWZpY2F0aW9uLiAgU1RBUlQgaXMgdGhl IHN0YXJ0IG9mCi0gICB0aGUgZGlyZWN0aXZlLCBMRU5HVEggaXMgaXRzIGxlbmd0aCwgYW5k IENPTlZFUlNJT04gc3BlY2lmaWVzIHRoZQotICAgdHlwZSBvZiBjb252ZXJzaW9uLiAgTEVO R1RIIGRvZXMgbm90IGluY2x1ZGUgYW55IGxlbmd0aCBtb2RpZmllciBvcgotICAgdGhlIGNv bnZlcnNpb24gc3BlY2lmaWVyIGl0c2VsZi4gIEZJRUxEX1dJRFRIIGFuZCBQUkVDSVNJT04g YXJlIHRoZQotICAgZmllbGQgd2lkdGggYW5kIHByZWNpc2lvbiBmb3IgJyonIHZhbHVlcywg aWYgSEFWRV9GSUVMRF9XSURUSCBhbmQKLSAgIEhBVkVfUFJFQ0lTSU9OIGFyZSB0cnVlLCBy ZXNwZWN0aXZlbHkuICBBUkdVTUVOVCBpcyB0aGUgYXJndW1lbnQgdG8KLSAgIGJlIGZvcm1h dHRlZC4gICovCisgICB0aGUgZGlyZWN0aXZlLCBhbmQgQ09OVkVSU0lPTiBzcGVjaWZpZXMg dGhlIHR5cGUgb2YgY29udmVyc2lvbi4KKyAgIEZJRUxEX1dJRFRIIGFuZCBQUkVDSVNJT04g YXJlIHRoZSBmaWVsZCB3aWR0aCBhbmQgcHJlY2lzaW9uIGZvciAnKicKKyAgIHZhbHVlcywg aWYgSEFWRV9GSUVMRF9XSURUSCBhbmQgSEFWRV9QUkVDSVNJT04gYXJlIHRydWUsIHJlc3Bl Y3RpdmVseS4KKyAgIEFSR1VNRU5UIGlzIHRoZSBhcmd1bWVudCB0byBiZSBmb3JtYXR0ZWQu ICAqLwogCiBzdGF0aWMgdm9pZAotcHJpbnRfZGlyZWMgKGNoYXIgY29uc3QgKnN0YXJ0LCBz aXplX3QgbGVuZ3RoLCBjaGFyIGNvbnZlcnNpb24sCitwcmludF9kaXJlYyAoY2hhciBjb25z dCAqc3RhcnQsIGNoYXIgY29udmVyc2lvbiwKICAgICAgICAgICAgICBib29sIGhhdmVfZmll bGRfd2lkdGgsIGludCBmaWVsZF93aWR0aCwKICAgICAgICAgICAgICBib29sIGhhdmVfcHJl Y2lzaW9uLCBpbnQgcHJlY2lzaW9uLAogICAgICAgICAgICAgIGNoYXIgY29uc3QgKmFyZ3Vt ZW50KQpAQCAtMzMzLDYgKzMzMSw3IEBAIHByaW50X2RpcmVjIChjaGFyIGNvbnN0ICpzdGFy dCwgc2l6ZV90IGxlbmd0aCwgY2hhciBjb252ZXJzaW9uLAogICAgICAgICBicmVhazsKICAg ICAgIH0KIAorICAgIHNpemVfdCBsZW5ndGggPSBzdHJsZW4gKHN0YXJ0KTsKICAgICBwID0g eG1hbGxvYyAobGVuZ3RoICsgbGVuZ3RoX21vZGlmaWVyX2xlbiArIDIpOwogICAgIHEgPSBt ZW1wY3B5IChwLCBzdGFydCwgbGVuZ3RoKTsKICAgICBxID0gbWVtcGNweSAocSwgbGVuZ3Ro X21vZGlmaWVyLCBsZW5ndGhfbW9kaWZpZXJfbGVuKTsKQEAgLTQ0OCw1MCArNDQ3LDkyIEBA IHByaW50X2RpcmVjIChjaGFyIGNvbnN0ICpzdGFydCwgc2l6ZV90IGxlbmd0aCwgY2hhciBj b252ZXJzaW9uLAogc3RhdGljIGludAogcHJpbnRfZm9ybWF0dGVkIChjaGFyIGNvbnN0ICpm b3JtYXQsIGludCBhcmdjLCBjaGFyICoqYXJndikKIHsKLSAgaW50IHNhdmVfYXJnYyA9IGFy Z2M7CQkvKiBQcmVzZXJ2ZSBvcmlnaW5hbCB2YWx1ZS4gICovCisKKy8qIFNldCBjdXJyX2Fy ZyBmcm9tIGluZGV4ZWQgJWkkIG9yIG90aGVyd2lzZSBuZXh0IGluIHNlcXVlbmNlLgorICAg UE9TIGNhbiBiZSAwLDEsMiwzIGNvcnJlc3BvbmRpbmcgdG8KKyAgIFslXVt3aWR0aF1bLnBy ZWNpc2lvbl1bY29udmVyc2lvbl0gcmVzcGVjdGl2ZWx5LiAgKi8KKworI2RlZmluZSBHRVRf Q1VSUl9BUkcoUE9TKQkJCQlcCitkbyB7CQkJCQkJCVwKKyAgY2hhciAqYXJnZTsJCQkJCQlc CisgIGludG1heF90IGFyZyA9IFBPUz09MyA/IDAgOiBzdHJ0b2ltYXggKGYsICZhcmdlLCAx MCk7CVwKKyAgaWYgKDAgPCBhcmcgJiYgYXJnIDw9IElOVF9NQVggJiYgKmFyZ2UgPT0gJyQn KQlcCisgICAgLyogUHJvY2VzcyBpbmRleGVkICVpJCBmb3JtYXQuICAqLwkJCVwKKyAgICAv KiBOb3RlICckJyBjb21lcyBiZWZvcmUgYW55IGZsYWdzLiAgKi8JCVwKKyAgICB7CQkJCQkJ CVwKKyAgICAgIFNFVF9DVVJSX0FSRyAoYXJnIC0gMSk7CQkJCVwKKyAgICAgIGYgPSBhcmdl ICsgMTsJCQkJCVwKKyAgICAgIGlmIChQT1MgPT0gMCkJCQkJCVwKKyAgICAgICAgZGlyZWNf YXJnID0gYXJnIC0gMTsJCQkJXAorICAgIH0JCQkJCQkJXAorICBlbHNlCQkJCQkJCVwKKyAg ICAvKiBSZXNldCB0byBzZXF1ZW50aWFsIHByb2Nlc3NpbmcuICAqLwkJXAorICAgIHsJCQkJ CQkJXAorICAgICAgaWYgKFBPUyA9PSAwKQkJCQkJXAorICAgICAgICBkaXJlY19hcmcgPSAt MTsJCQkJCVwKKyAgICAgIGVsc2UgaWYgKFBPUyA8IDMgfHwgZGlyZWNfYXJnID09IC0xKQkJ XAorICAgICAgICBTRVRfQ1VSUl9BUkcgKCsrY3Vycl9zX2FyZyk7CQkJXAorICAgICAgZWxz ZQkJCQkJCVwKKyAgICAgICAgU0VUX0NVUlJfQVJHIChkaXJlY19hcmcpOwkJCVwKKyAgICB9 CQkJCQkJCVwKK30gd2hpbGUgKDApCQkJCQkJXAorCisjZGVmaW5lIFNFVF9DVVJSX0FSRyhB UkcpCQkJCVwKK2RvIHsJCQkJCQkJXAorICBjdXJyX2FyZyA9IEFSRzsJCQkJCVwKKyAgZW5k X2FyZyA9IE1BWCAoY3Vycl9hcmcsIGVuZF9hcmcpOwkJCVwKK30gd2hpbGUgKDApCQkJCQkJ XAorCisgIGludCBjdXJyX2FyZyA9IC0xOwkJLyogQ3VycmVudCBvZmZzZXQuICAqLworICBp bnQgY3Vycl9zX2FyZyA9IC0xOwkJLyogQ3VycmVudCBzZXF1ZW50aWFsIG9mZnNldC4gICov CisgIGludCBlbmRfYXJnID0gLTE7CQkvKiBFbmQgYXJnIHByb2Nlc3NlZC4gICovCisgIGlu dCBkaXJlY19hcmcgPSAtMTsJCS8qIEFyZyBmb3IgbWFpbiBkaXJlY3RpdmUuICAqLwogICBj aGFyIGNvbnN0ICpmOwkJLyogUG9pbnRlciBpbnRvICdmb3JtYXQnLiAgKi8KICAgY2hhciBj b25zdCAqZGlyZWNfc3RhcnQ7CS8qIFN0YXJ0IG9mICUgZGlyZWN0aXZlLiAgKi8KLSAgc2l6 ZV90IGRpcmVjX2xlbmd0aDsJCS8qIExlbmd0aCBvZiAlIGRpcmVjdGl2ZS4gICovCisgIGNo YXIgKmRpcmVjOwkJCS8qIEdlbmVyYXRlZCAlIGRpcmVjdGl2ZS4gICovCisgIGNoYXIgKnBk aXJlYzsJCQkvKiBQb2ludGVyIHRvIGN1cnJlbnQgZW5kIG9mIGRpcmVjdGl2ZS4gICovCiAg IGJvb2wgaGF2ZV9maWVsZF93aWR0aDsJLyogVHJ1ZSBpZiBGSUVMRF9XSURUSCBpcyB2YWxp ZC4gICovCiAgIGludCBmaWVsZF93aWR0aCA9IDA7CQkvKiBBcmcgdG8gZmlyc3QgJyonLiAg Ki8KICAgYm9vbCBoYXZlX3ByZWNpc2lvbjsJCS8qIFRydWUgaWYgUFJFQ0lTSU9OIGlzIHZh bGlkLiAgKi8KICAgaW50IHByZWNpc2lvbiA9IDA7CQkvKiBBcmcgdG8gc2Vjb25kICcqJy4g ICovCiAgIGNoYXIgb2tbVUNIQVJfTUFYICsgMV07CS8qIG9rWyd4J10gaXMgdHJ1ZSBpZiAl eCBpcyBhbGxvd2VkLiAgKi8KIAorICBkaXJlYyA9IHhtYWxsb2MgKHN0cmxlbiAoZm9ybWF0 KSArIDEpOworCiAgIGZvciAoZiA9IGZvcm1hdDsgKmY7ICsrZikKICAgICB7CiAgICAgICBz d2l0Y2ggKCpmKQogICAgICAgICB7CiAgICAgICAgIGNhc2UgJyUnOgotICAgICAgICAgIGRp cmVjX3N0YXJ0ID0gZisrOwotICAgICAgICAgIGRpcmVjX2xlbmd0aCA9IDE7CisgICAgICAg ICAgZGlyZWNfc3RhcnQgPSBmOworICAgICAgICAgIHBkaXJlYyA9IGRpcmVjOworICAgICAg ICAgICpwZGlyZWMrKyA9ICpmKys7CiAgICAgICAgICAgaGF2ZV9maWVsZF93aWR0aCA9IGhh dmVfcHJlY2lzaW9uID0gZmFsc2U7CiAgICAgICAgICAgaWYgKCpmID09ICclJykKICAgICAg ICAgICAgIHsKICAgICAgICAgICAgICAgcHV0Y2hhciAoJyUnKTsKICAgICAgICAgICAgICAg YnJlYWs7CiAgICAgICAgICAgICB9CisKKyAgICAgICAgICBHRVRfQ1VSUl9BUkcgKDApOwor CiAgICAgICAgICAgaWYgKCpmID09ICdiJykKICAgICAgICAgICAgIHsKICAgICAgICAgICAg ICAgLyogRklYTUU6IEZpZWxkIHdpZHRoIGFuZCBwcmVjaXNpb24gYXJlIG5vdCBzdXBwb3J0 ZWQKICAgICAgICAgICAgICAgICAgZm9yICViLCBldmVuIHRob3VnaCBQT1NJWCByZXF1aXJl cyBpdC4gICovCi0gICAgICAgICAgICAgIGlmIChhcmdjID4gMCkKLSAgICAgICAgICAgICAg ICB7Ci0gICAgICAgICAgICAgICAgICBwcmludF9lc2Nfc3RyaW5nICgqYXJndik7Ci0gICAg ICAgICAgICAgICAgICArK2FyZ3Y7Ci0gICAgICAgICAgICAgICAgICAtLWFyZ2M7Ci0gICAg ICAgICAgICAgICAgfQorICAgICAgICAgICAgICBHRVRfQ1VSUl9BUkcgKDMpOworICAgICAg ICAgICAgICBpZiAoY3Vycl9hcmcgPCBhcmdjKQorICAgICAgICAgICAgICAgIHByaW50X2Vz Y19zdHJpbmcgKGFyZ3ZbY3Vycl9hcmddKTsKICAgICAgICAgICAgICAgYnJlYWs7CiAgICAg ICAgICAgICB9CiAKICAgICAgICAgICBpZiAoKmYgPT0gJ3EnKQogICAgICAgICAgICAgewot ICAgICAgICAgICAgICBpZiAoYXJnYyA+IDApCisgICAgICAgICAgICAgIEdFVF9DVVJSX0FS RyAoMyk7CisgICAgICAgICAgICAgIGlmIChjdXJyX2FyZyA8IGFyZ2MpCiAgICAgICAgICAg ICAgICAgewotICAgICAgICAgICAgICAgICAgZnB1dHMgKHF1b3RlYXJnX3N0eWxlIChzaGVs bF9lc2NhcGVfcXVvdGluZ19zdHlsZSwgKmFyZ3YpLAotICAgICAgICAgICAgICAgICAgICAg ICAgIHN0ZG91dCk7Ci0gICAgICAgICAgICAgICAgICArK2FyZ3Y7Ci0gICAgICAgICAgICAg ICAgICAtLWFyZ2M7CisgICAgICAgICAgICAgICAgICBmcHV0cyAocXVvdGVhcmdfc3R5bGUg KHNoZWxsX2VzY2FwZV9xdW90aW5nX3N0eWxlLAorICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICBhcmd2W2N1cnJfYXJnXSksIHN0ZG91dCk7CiAgICAgICAgICAg ICAgICAgfQogICAgICAgICAgICAgICBicmVhazsKICAgICAgICAgICAgIH0KQEAgLTUwMSw0 MyArNTQyLDQ2IEBAIHByaW50X2Zvcm1hdHRlZCAoY2hhciBjb25zdCAqZm9ybWF0LCBpbnQg YXJnYywgY2hhciAqKmFyZ3YpCiAgICAgICAgICAgICBva1snZiddID0gb2tbJ0YnXSA9IG9r WydnJ10gPSBva1snRyddID0gb2tbJ2knXSA9IG9rWydvJ10gPQogICAgICAgICAgICAgb2tb J3MnXSA9IG9rWyd1J10gPSBva1sneCddID0gb2tbJ1gnXSA9IDE7CiAKLSAgICAgICAgICBm b3IgKDs7IGYrKywgZGlyZWNfbGVuZ3RoKyspCi0gICAgICAgICAgICBzd2l0Y2ggKCpmKQot ICAgICAgICAgICAgICB7CisgICAgICAgICAgZm9yICg7OyBmKyspCisgICAgICAgICAgICB7 CisgICAgICAgICAgICAgIHN3aXRjaCAoKmYpCisgICAgICAgICAgICAgICAgewogI2lmIChf X0dMSUJDX18gPT0gMiAmJiAyIDw9IF9fR0xJQkNfTUlOT1JfXykgfHwgMyA8PSBfX0dMSUJD X18KLSAgICAgICAgICAgICAgY2FzZSAnSSc6CisgICAgICAgICAgICAgICAgY2FzZSAnSSc6 CiAjZW5kaWYKLSAgICAgICAgICAgICAgY2FzZSAnXCcnOgotICAgICAgICAgICAgICAgIG9r WydhJ10gPSBva1snQSddID0gb2tbJ2MnXSA9IG9rWydlJ10gPSBva1snRSddID0KLSAgICAg ICAgICAgICAgICAgIG9rWydvJ10gPSBva1sncyddID0gb2tbJ3gnXSA9IG9rWydYJ10gPSAw OwotICAgICAgICAgICAgICAgIGJyZWFrOwotICAgICAgICAgICAgICBjYXNlICctJzogY2Fz ZSAnKyc6IGNhc2UgJyAnOgotICAgICAgICAgICAgICAgIGJyZWFrOwotICAgICAgICAgICAg ICBjYXNlICcjJzoKLSAgICAgICAgICAgICAgICBva1snYyddID0gb2tbJ2QnXSA9IG9rWydp J10gPSBva1sncyddID0gb2tbJ3UnXSA9IDA7Ci0gICAgICAgICAgICAgICAgYnJlYWs7Ci0g ICAgICAgICAgICAgIGNhc2UgJzAnOgotICAgICAgICAgICAgICAgIG9rWydjJ10gPSBva1sn cyddID0gMDsKLSAgICAgICAgICAgICAgICBicmVhazsKLSAgICAgICAgICAgICAgZGVmYXVs dDoKLSAgICAgICAgICAgICAgICBnb3RvIG5vX21vcmVfZmxhZ19jaGFyYWN0ZXJzOwotICAg ICAgICAgICAgICB9CisgICAgICAgICAgICAgICAgY2FzZSAnXCcnOgorICAgICAgICAgICAg ICAgICAgb2tbJ2EnXSA9IG9rWydBJ10gPSBva1snYyddID0gb2tbJ2UnXSA9IG9rWydFJ10g PQorICAgICAgICAgICAgICAgICAgICBva1snbyddID0gb2tbJ3MnXSA9IG9rWyd4J10gPSBv a1snWCddID0gMDsKKyAgICAgICAgICAgICAgICAgIGJyZWFrOworICAgICAgICAgICAgICAg IGNhc2UgJy0nOiBjYXNlICcrJzogY2FzZSAnICc6CisgICAgICAgICAgICAgICAgICBicmVh azsKKyAgICAgICAgICAgICAgICBjYXNlICcjJzoKKyAgICAgICAgICAgICAgICAgIG9rWydj J10gPSBva1snZCddID0gb2tbJ2knXSA9IG9rWydzJ10gPSBva1sndSddID0gMDsKKyAgICAg ICAgICAgICAgICAgIGJyZWFrOworICAgICAgICAgICAgICAgIGNhc2UgJzAnOgorICAgICAg ICAgICAgICAgICAgb2tbJ2MnXSA9IG9rWydzJ10gPSAwOworICAgICAgICAgICAgICAgICAg YnJlYWs7CisgICAgICAgICAgICAgICAgZGVmYXVsdDoKKyAgICAgICAgICAgICAgICAgIGdv dG8gbm9fbW9yZV9mbGFnX2NoYXJhY3RlcnM7CisgICAgICAgICAgICAgICAgfQorICAgICAg ICAgICAgICAqcGRpcmVjKysgPSAqZjsKKyAgICAgICAgICAgIH0KICAgICAgICAgbm9fbW9y ZV9mbGFnX2NoYXJhY3RlcnM6CiAKICAgICAgICAgICBpZiAoKmYgPT0gJyonKQogICAgICAg ICAgICAgewotICAgICAgICAgICAgICArK2Y7Ci0gICAgICAgICAgICAgICsrZGlyZWNfbGVu Z3RoOwotICAgICAgICAgICAgICBpZiAoYXJnYyA+IDApCisgICAgICAgICAgICAgICpwZGly ZWMrKyA9ICpmKys7CisKKyAgICAgICAgICAgICAgR0VUX0NVUlJfQVJHICgxKTsKKworICAg ICAgICAgICAgICBpZiAoY3Vycl9hcmcgPCBhcmdjKQogICAgICAgICAgICAgICAgIHsKLSAg ICAgICAgICAgICAgICAgIGludG1heF90IHdpZHRoID0gdnN0cnRvaW1heCAoKmFyZ3YpOwor ICAgICAgICAgICAgICAgICAgaW50bWF4X3Qgd2lkdGggPSB2c3RydG9pbWF4IChhcmd2W2N1 cnJfYXJnXSk7CiAgICAgICAgICAgICAgICAgICBpZiAoSU5UX01JTiA8PSB3aWR0aCAmJiB3 aWR0aCA8PSBJTlRfTUFYKQogICAgICAgICAgICAgICAgICAgICBmaWVsZF93aWR0aCA9IHdp ZHRoOwogICAgICAgICAgICAgICAgICAgZWxzZQogICAgICAgICAgICAgICAgICAgICBlcnJv ciAoRVhJVF9GQUlMVVJFLCAwLCBfKCJpbnZhbGlkIGZpZWxkIHdpZHRoOiAlcyIpLAotICAg ICAgICAgICAgICAgICAgICAgICAgICAgcXVvdGUgKCphcmd2KSk7Ci0gICAgICAgICAgICAg ICAgICArK2FyZ3Y7Ci0gICAgICAgICAgICAgICAgICAtLWFyZ2M7CisgICAgICAgICAgICAg ICAgICAgICAgICAgICBxdW90ZSAoYXJndltjdXJyX2FyZ10pKTsKICAgICAgICAgICAgICAg ICB9CiAgICAgICAgICAgICAgIGVsc2UKICAgICAgICAgICAgICAgICBmaWVsZF93aWR0aCA9 IDA7CkBAIC01NDUsMjIgKzU4OSwyMCBAQCBwcmludF9mb3JtYXR0ZWQgKGNoYXIgY29uc3Qg KmZvcm1hdCwgaW50IGFyZ2MsIGNoYXIgKiphcmd2KQogICAgICAgICAgICAgfQogICAgICAg ICAgIGVsc2UKICAgICAgICAgICAgIHdoaWxlIChJU0RJR0lUICgqZikpCi0gICAgICAgICAg ICAgIHsKLSAgICAgICAgICAgICAgICArK2Y7Ci0gICAgICAgICAgICAgICAgKytkaXJlY19s ZW5ndGg7Ci0gICAgICAgICAgICAgIH0KKyAgICAgICAgICAgICAgKnBkaXJlYysrID0gKmYr KzsKICAgICAgICAgICBpZiAoKmYgPT0gJy4nKQogICAgICAgICAgICAgewotICAgICAgICAg ICAgICArK2Y7Ci0gICAgICAgICAgICAgICsrZGlyZWNfbGVuZ3RoOworICAgICAgICAgICAg ICAqcGRpcmVjKysgPSAqZisrOwogICAgICAgICAgICAgICBva1snYyddID0gMDsKICAgICAg ICAgICAgICAgaWYgKCpmID09ICcqJykKICAgICAgICAgICAgICAgICB7Ci0gICAgICAgICAg ICAgICAgICArK2Y7Ci0gICAgICAgICAgICAgICAgICArK2RpcmVjX2xlbmd0aDsKLSAgICAg ICAgICAgICAgICAgIGlmIChhcmdjID4gMCkKKyAgICAgICAgICAgICAgICAgICpwZGlyZWMr KyA9ICpmKys7CisKKyAgICAgICAgICAgICAgICAgIEdFVF9DVVJSX0FSRyAoMik7CisKKyAg ICAgICAgICAgICAgICAgIGlmIChjdXJyX2FyZyA8IGFyZ2MpCiAgICAgICAgICAgICAgICAg ICAgIHsKLSAgICAgICAgICAgICAgICAgICAgICBpbnRtYXhfdCBwcmVjID0gdnN0cnRvaW1h eCAoKmFyZ3YpOworICAgICAgICAgICAgICAgICAgICAgIGludG1heF90IHByZWMgPSB2c3Ry dG9pbWF4IChhcmd2W2N1cnJfYXJnXSk7CiAgICAgICAgICAgICAgICAgICAgICAgaWYgKHBy ZWMgPCAwKQogICAgICAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAg ICAgICAgICAvKiBBIG5lZ2F0aXZlIHByZWNpc2lvbiBpcyB0YWtlbiBhcyBpZiB0aGUKQEAg LTU3MCwxMSArNjEyLDkgQEAgcHJpbnRfZm9ybWF0dGVkIChjaGFyIGNvbnN0ICpmb3JtYXQs IGludCBhcmdjLCBjaGFyICoqYXJndikKICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAg ICAgICAgICAgICAgICAgICAgICBlbHNlIGlmIChJTlRfTUFYIDwgcHJlYykKICAgICAgICAg ICAgICAgICAgICAgICAgIGVycm9yIChFWElUX0ZBSUxVUkUsIDAsIF8oImludmFsaWQgcHJl Y2lzaW9uOiAlcyIpLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHF1b3RlICgq YXJndikpOworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHF1b3RlIChhcmd2W2N1 cnJfYXJnXSkpOwogICAgICAgICAgICAgICAgICAgICAgIGVsc2UKICAgICAgICAgICAgICAg ICAgICAgICAgIHByZWNpc2lvbiA9IHByZWM7Ci0gICAgICAgICAgICAgICAgICAgICAgKyth cmd2OwotICAgICAgICAgICAgICAgICAgICAgIC0tYXJnYzsKICAgICAgICAgICAgICAgICAg ICAgfQogICAgICAgICAgICAgICAgICAgZWxzZQogICAgICAgICAgICAgICAgICAgICBwcmVj aXNpb24gPSAwOwpAQCAtNTgyLDEyICs2MjIsMTEgQEAgcHJpbnRfZm9ybWF0dGVkIChjaGFy IGNvbnN0ICpmb3JtYXQsIGludCBhcmdjLCBjaGFyICoqYXJndikKICAgICAgICAgICAgICAg ICB9CiAgICAgICAgICAgICAgIGVsc2UKICAgICAgICAgICAgICAgICB3aGlsZSAoSVNESUdJ VCAoKmYpKQotICAgICAgICAgICAgICAgICAgewotICAgICAgICAgICAgICAgICAgICArK2Y7 Ci0gICAgICAgICAgICAgICAgICAgICsrZGlyZWNfbGVuZ3RoOwotICAgICAgICAgICAgICAg ICAgfQorICAgICAgICAgICAgICAgICAgKnBkaXJlYysrID0gKmYrKzsKICAgICAgICAgICAg IH0KIAorICAgICAgICAgICpwZGlyZWMrKyA9ICdcMCc7CisKICAgICAgICAgICB3aGlsZSAo KmYgPT0gJ2wnIHx8ICpmID09ICdMJyB8fCAqZiA9PSAnaCcKICAgICAgICAgICAgICAgICAg fHwgKmYgPT0gJ2onIHx8ICpmID09ICd0JyB8fCAqZiA9PSAneicpCiAgICAgICAgICAgICAr K2Y7CkBAIC02MDEsMTAgKzY0MCwxMyBAQCBwcmludF9mb3JtYXR0ZWQgKGNoYXIgY29uc3Qg KmZvcm1hdCwgaW50IGFyZ2MsIGNoYXIgKiphcmd2KQogICAgICAgICAgICAgICAgICAgICAg c3BlY2xlbiwgZGlyZWNfc3RhcnQpOwogICAgICAgICAgIH0KIAotICAgICAgICAgIHByaW50 X2RpcmVjIChkaXJlY19zdGFydCwgZGlyZWNfbGVuZ3RoLCAqZiwKKyAgICAgICAgICBHRVRf Q1VSUl9BUkcgKDMpOworCisgICAgICAgICAgcHJpbnRfZGlyZWMgKGRpcmVjLCAqZiwKICAg ICAgICAgICAgICAgICAgICAgICAgaGF2ZV9maWVsZF93aWR0aCwgZmllbGRfd2lkdGgsCiAg ICAgICAgICAgICAgICAgICAgICAgIGhhdmVfcHJlY2lzaW9uLCBwcmVjaXNpb24sCi0gICAg ICAgICAgICAgICAgICAgICAgIChhcmdjIDw9IDAgPyAiIiA6IChhcmdjLS0sICphcmd2Kysp KSk7CisgICAgICAgICAgICAgICAgICAgICAgIChhcmdjIDw9IGN1cnJfYXJnID8gIiIgOiBh cmd2W2N1cnJfYXJnXSkpOworCiAgICAgICAgICAgYnJlYWs7CiAKICAgICAgICAgY2FzZSAn XFwnOgpAQCAtNjE2LDcgKzY1OCw4IEBAIHByaW50X2Zvcm1hdHRlZCAoY2hhciBjb25zdCAq Zm9ybWF0LCBpbnQgYXJnYywgY2hhciAqKmFyZ3YpCiAgICAgICAgIH0KICAgICB9CiAKLSAg cmV0dXJuIHNhdmVfYXJnYyAtIGFyZ2M7CisgIGZyZWUgKGRpcmVjKTsKKyAgcmV0dXJuIE1J TiAoYXJnYywgZW5kX2FyZyArIDEpOwogfQogCiBpbnQKZGlmZiAtLWdpdCBhL3Rlc3RzL2xv Y2FsLm1rIGIvdGVzdHMvbG9jYWwubWsKaW5kZXggZmRiZjM2OTQ2Li5mNzIzNTM4NjIgMTAw NjQ0Ci0tLSBhL3Rlc3RzL2xvY2FsLm1rCisrKyBiL3Rlc3RzL2xvY2FsLm1rCkBAIC0zNTMs NiArMzUzLDcgQEAgYWxsX3Rlc3RzID0JCQkJCVwKICAgdGVzdHMvcHJpbnRmL3ByaW50Zi5z aAkJCVwKICAgdGVzdHMvcHJpbnRmL3ByaW50Zi1jb3YucGwJCQlcCiAgIHRlc3RzL3ByaW50 Zi9wcmludGYtaGV4LnNoCQkJXAorICB0ZXN0cy9wcmludGYvcHJpbnRmLWluZGV4ZWQuc2gJ CVwKICAgdGVzdHMvcHJpbnRmL3ByaW50Zi1tYi5zaAkJCVwKICAgdGVzdHMvcHJpbnRmL3By aW50Zi1zdXJwcmlzZS5zaAkJXAogICB0ZXN0cy9wcmludGYvcHJpbnRmLXF1b3RlLnNoCQkJ XApkaWZmIC0tZ2l0IGEvdGVzdHMvcHJpbnRmL3ByaW50Zi1pbmRleGVkLnNoIGIvdGVzdHMv cHJpbnRmL3ByaW50Zi1pbmRleGVkLnNoCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAw MDAwMDAwMC4uMWMzYTZjMzgwCi0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvcHJpbnRmL3By aW50Zi1pbmRleGVkLnNoCkBAIC0wLDAgKzEsOTMgQEAKKyMhL2Jpbi9zaAorIyB0ZXN0cyBm b3IgcHJpbnRmICVpJCBpbmRleGVkIGZvcm1hdCBwcm9jZXNzaW5nCisKKyMgQ29weXJpZ2h0 IChDKSAyMDI0IEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLgorCisjIFRoaXMgcHJv Z3JhbSBpcyBmcmVlIHNvZnR3YXJlOiB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3Ig bW9kaWZ5CisjIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGlj IExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5CisjIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRp b24sIGVpdGhlciB2ZXJzaW9uIDMgb2YgdGhlIExpY2Vuc2UsIG9yCisjIChhdCB5b3VyIG9w dGlvbikgYW55IGxhdGVyIHZlcnNpb24uCisKKyMgVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1 dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCisjIGJ1dCBXSVRIT1VU IEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCisj IE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4g IFNlZSB0aGUKKyMgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWls cy4KKworIyBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2Vu ZXJhbCBQdWJsaWMgTGljZW5zZQorIyBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbS4gIElmIG5v dCwgc2VlIDxodHRwczovL3d3dy5nbnUub3JnL2xpY2Vuc2VzLz4uCisKKy4gIiR7c3JjZGly PS59L3Rlc3RzL2luaXQuc2giOyBwYXRoX3ByZXBlbmRfIC4vc3JjCitwcmludF92ZXJfIHBy aW50ZgoraQorZ2V0bGltaXRzXworCitwcm9nPSdlbnYgcHJpbnRmJworCitwcmludGZfY2hl Y2soKSB7CisgIGNhdCA8PEVPRiA+IGV4cCB8fCBmcmFtZXdvcmtfZmFpbHVyZV8KKyQxCitF T0YKKworICBzaGlmdAorCisgICRwcm9nICIkQCIgPiBvdXQgfHwgZmFpbD0xCisgIGNvbXBh cmUgZXhwIG91dCB8fCBmYWlsPTEKK30KKworcHJpbnRmX2NoZWNraV9lcnIoKSB7CisgIGNh dCA8PEVPRiA+IGV4cCB8fCBmcmFtZXdvcmtfZmFpbHVyZV8KKyQxCitFT0YKKworICBzaGlm dAorCisgIHJldHVybnNfMSAkcHJvZyAiJEAiIDI+IG91dCB8fCBmYWlsPTEKKyAgY29tcGFy ZSBleHAgb3V0IHx8IGZhaWw9MQorfQorCitOTD0iCisiCisKKyMgUmVvcmRlcmluZworcHJp bnRmX2NoZWNrICcyMScgJyUyJHMlMSRzXG4nIDEgMgorCisjIFJlcGV0aXRpb24KK3ByaW50 Zl9jaGVjayAiMTEke05MfTIyIiAnJTEkcyUxJHNcbicgMSAyCisKKyMgTXVsdGlwbGUgdXNl cyBvZiBmb3JtYXQKK3ByaW50Zl9jaGVjayAiQSBDIEIke05MfUQgICIgJyVzICUzJHMgJXNc bicgQSBCIEMgRAorcHJpbnRmX2NoZWNrICIgICA0JHtOTH0xIiAnJTEkKmRcbicgNCAxCisK KyMgTWl4ZWQgaW5kZXhlZCBhbmQgc2VxdWVudGlhbCBtYWluIGFyZworcHJpbnRmX2NoZWNr ICJBIEIgQSIgJyVzICVzICUxJHNcbicgQSBCCitwcmludGZfY2hlY2sgJyAgIDAgMSAgJyAn JTEwMCQqZCAlcyAlcyAlc1xuJyA0IDEKKworIyBpbmRleGVkIGFyZywgd2lkdGgsIGFuZCBw cmVjaXNpb24KK3ByaW50Zl9jaGVjayAnIDAxJyAnJTEkKjIkLiozJGRcbicgMSAzIDIKKyMg aW5kZXhlZCBhcmcsIHNlcXVlbnRpYWwgd2lkdGgsIGFuZCBwcmVjaXNpb24KK3ByaW50Zl9j aGVjayAnIDAxJyAnJTMkKi4qZFxuJyAzIDIgMQorIyBpbmRleGVkIGFyZywgd2lkdGgsIGFu ZCBzZXF1ZW50aWFsIHByZWNpc2lvbgorcHJpbnRmX2NoZWNrICcgMDEnICclMyQqMiQuKmRc bicgMiAzIDEKKyMgaW5kZXhlZCBhcmcsIHByZWNpc2lvbiwgYW5kIHNlcXVlbnRpYWwgd2lk dGgKK3ByaW50Zl9jaGVjayAnIDAxJyAnJTMkKi4qMiRkXG4nIDMgMiAxCisjIEluZGV4ZWQg YXJnLCB3aWR0aAorcHJpbnRmX2NoZWNrICcgICAxJyAnJTIkKjEkZFxuJyA0IDEKKyMgSW5k ZXhlZCBhcmcsIGFuZCBzZXF1ZW50aWFsIHdpZHRoCitwcmludGZfY2hlY2sgJyAgIDEnICcl MiQqZFxuJyA0IDEKKworIyBGbGFncyBjb21lIGFmdGVyICQgKDAgaXMgbm90IGEgZmxhZyBo ZXJlKToKK3ByaW50Zl9jaGVjayAnICAgMScgJyUwMSQ0ZFxuJyAxCisjIEZsYWdzIGNvbWUg YWZ0ZXIgJCAoMCBpcyBhIGZsYWcgaGVyZSk6CitwcmludGZfY2hlY2sgJzAwMDEnICclMSQw KjIkZFxuJyAxIDQKKyMgRmxhZ3MgY29tZSBhZnRlciAkICgtMiBub3QgdGFrZW4gYXMgYSB2 YWxpZCBpbmRleCBoZXJlKToKK3ByaW50Zl9jaGVja19lcnIgJ3ByaW50ZjogJS0yJDogaW52 YWxpZCBjb252ZXJzaW9uIHNwZWNpZmljYXRpb24nIFwKKyAgICAgICAgICAgICAgICAgJyUt MiRzICUxJHNcbicgQSBCCisKKyMgRW5zdXJlIG9ubHkgYmFzZSAxMCBudW1iZXJzIGFyZSBh Y2NlcHRlZAorcHJpbnRmX2NoZWNrX2VyciAicHJpbnRmOiAnQSc6IGV4cGVjdGVkIGEgbnVt ZXJpYyB2YWx1ZSIgXAorICAgICAgICAgICAgICAgICAnJTB4MiRzICUxJHNcbicgQSBCCisj IFZlcmlmeSBpbnQgbGltaXRzIChhdm9pZGluZyBjb21wYXJpc29ucyB3aXRoIGFyZ2MgZXRj LikKK3ByaW50Zl9jaGVja19lcnIgInByaW50ZjogJSR7SU5UX09GTE9XfSQ6IGludmFsaWQg Y29udmVyc2lvbiBzcGVjaWZpY2F0aW9uIiBcCisgICAgICAgICAgICAgICAgICIlJHtJTlRf T0ZMT1d9JGRcbiIgMQorCitFeGl0ICRmYWlsCi0tIAoyLjQ2LjAKCg== --------------8PjsAmsU0Pc1tbtCcnQvuLkA-- From debbugs-submit-bounces@debbugs.gnu.org Thu Sep 12 13:07:06 2024 Received: (at 73068-done) by debbugs.gnu.org; 12 Sep 2024 17:07:06 +0000 Received: from localhost ([127.0.0.1]:41784 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1sonHd-0005Vu-VI for submit@debbugs.gnu.org; Thu, 12 Sep 2024 13:07:06 -0400 Received: from mo4-p00-ob.smtp.rzone.de ([81.169.146.220]:39391) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1sonHa-0005VL-UT for 73068-done@debbugs.gnu.org; Thu, 12 Sep 2024 13:07:04 -0400 ARC-Seal: i=1; a=rsa-sha256; t=1726160812; cv=none; d=strato.com; s=strato-dkim-0002; b=Rdz5RFBU+sgelBM14rzSfkYjuzdgylaKCieL/Ck2oLlbqQQFLXy3Z+i26NmUbk1vTe 5ttDBQKl7OQnROqpeL1Vqb1n5yE4CXaLcMZzmwE537g5d6dqKQImkDhzbJs1rRk++dc0 wMzSanp4iSnI9bG8+xNWuX11Xo8XVg6fxqqFGgyzy4wMfOPJiDZ9NLmMe6nAm4PxrkYM pDZkyOL61vFPf5hrjiVXPuM7lJ5dnbuPDtWNLY0PGAcYjyomOHv9PjdAKJ+lEkoO+jX2 sjYKTSD4/rLSAxhB2hnWDPyXDO5dT/M+hNq7nOACc52Mix7GlWi0dDZ0Olxv9bY3UVNB Lr3Q== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; t=1726160812; s=strato-dkim-0002; d=strato.com; h=References:In-Reply-To:Message-ID:Date:Subject:Cc:To:From:Cc:Date: From:Subject:Sender; bh=NXH5AgrnK9nwjhmXjiTkOullrBWDwWUvfD9jj7lSBHk=; b=B84Q2/U2LtZZhuJOp8eEhV375gbL1hCk+GZiaU4+GNLY0kbKtsVN6NeHu3okkqKzmW 5FI5aLi4/by2V++FmpjaNQLY7wFotpD9EcnAM2PRlH/qQFWal39j+a4zsxPHXcZgV4o0 dzOcOpo+G2+s+1ygy+Qq4kxJz+EfxAg24u8VZ7tQYzJ/blTJX649VR7C4Rfn9AIm3Fd0 8+lQdgiexmAKHRfiItyiGPJbvsLXERtjuciWLD5559jh8OEIPqn49OjDHFgizrPngKl5 pjojrxioo02D9vYBto6qn4aFlHs2/TaAF8SRD5w+jFS7XPqfn3TRv2CbYAyk0y5omkCQ Z1hg== ARC-Authentication-Results: i=1; strato.com; arc=none; dkim=none X-RZG-CLASS-ID: mo00 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; t=1726160812; s=strato-dkim-0002; d=clisp.org; h=References:In-Reply-To:Message-ID:Date:Subject:Cc:To:From:Cc:Date: From:Subject:Sender; bh=NXH5AgrnK9nwjhmXjiTkOullrBWDwWUvfD9jj7lSBHk=; b=C2hd1K8n+889Dotim5Q8t5jOVH/3tbTSublJITyOW9yefcsAC+HCbIq+kKuFPpyafk 66JzqoffjHDBrufBuxY+kXBAvhWhTbEaP1M63GRPJ2qvHD7RvZ7WeUdTcPAF5qRgeZ73 vUG1zh31EGtgKof7WfT6Q+7XlYxc/BzK/E2CCpbUfebaiI0pkEnpptvQre2N+wAMhEx+ s6Q5HFWALFL+jJCRZi46VglWtjVaqNsy5xwcOnAOsk3uZGLTgtG9VnslCcT3ntI+01y0 3UXnlrbeyCWUsbiXx36asE6k3AIXuEFDsuzQKAR9wfGwOZI74K4bmjYHVX34Kbv6OQwM nrHA== DKIM-Signature: v=1; a=ed25519-sha256; c=relaxed/relaxed; t=1726160812; s=strato-dkim-0003; d=clisp.org; h=References:In-Reply-To:Message-ID:Date:Subject:Cc:To:From:Cc:Date: From:Subject:Sender; bh=NXH5AgrnK9nwjhmXjiTkOullrBWDwWUvfD9jj7lSBHk=; b=5yvAFovFyENVWlZtSqddbp63WyGXFkztDJf5eU7C7FfNpNFIAiV65lOHsgHSxg5VE2 lrVodhA+GVRyXWCSJFBw== X-RZG-AUTH: ":Ln4Re0+Ic/6oZXR1YgKryK8brlshOcZlLnY4jECd2hdUURIbZgL8PX2QiTuZ3cdB8X/nqmeZFWhnpBQXJWNGAZ0chO6kD1oL" Received: from nimes.localnet by smtp.strato.de (RZmta 51.2.3 AUTH) with ESMTPSA id N17ea708CH6qpaj (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256 bits)) (Client did not present a certificate); Thu, 12 Sep 2024 19:06:52 +0200 (CEST) From: Bruno Haible To: =?ISO-8859-1?Q?P=E1draig?= Brady Subject: Re: bug#73068: printf: please implement POSIX:2024 argument reordering Date: Thu, 12 Sep 2024 19:06:52 +0200 Message-ID: <2338371.iQE5PxAY86@nimes> In-Reply-To: References: <2220600.3uDm00564X@nimes> <4856ebd5-c283-4e83-b59d-b7cf17d0c147@draigBrady.com> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="iso-8859-1" X-Spam-Score: -0.7 (/) X-Debbugs-Envelope-To: 73068-done Cc: 73068-done@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.7 (-) P=E1draig Brady wrote: > I'll apply the attached sometime tomorrow. Nice! Thank you. There seems to be a typo in the unit test, though: It defines a shell function 'printf_checki_err' but the function it then invokes is 'printf_check_err'. Bruno From debbugs-submit-bounces@debbugs.gnu.org Thu Sep 12 13:42:08 2024 Received: (at 73068) by debbugs.gnu.org; 12 Sep 2024 17:42:08 +0000 Received: from localhost ([127.0.0.1]:41866 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1sonpX-0007WO-Tp for submit@debbugs.gnu.org; Thu, 12 Sep 2024 13:42:08 -0400 Received: from mail-pj1-f46.google.com ([209.85.216.46]:43510) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1sonpV-0007Vp-AT for 73068@debbugs.gnu.org; Thu, 12 Sep 2024 13:42:06 -0400 Received: by mail-pj1-f46.google.com with SMTP id 98e67ed59e1d1-2d8818337a5so1762811a91.1 for <73068@debbugs.gnu.org>; Thu, 12 Sep 2024 10:41:57 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1726162851; x=1726767651; darn=debbugs.gnu.org; h=content-transfer-encoding:mime-version:user-agent:message-id:date :references:in-reply-to:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=5hV9lVD4fqiKj8NJ2dqmZXqXahfK4sNNo7EFPOLniSM=; b=SOpP5JQFwV89PtEgYU0ZluUfzABP2FBEZcC0oY/jSLggDXqUyvT17S67XL/HoPRSc5 E2oEYWuNmrCtj1uwB998zh81SYrhHyZlQZXAerQKAy6giCA1pOsIDI0kx+YtPsbGtEJC 4Q/ksNsiu2ohTXFo4vM9tDfCnihDeuBNwzBAHpjQ8BurkUMCxHoF2n2cLqxyhEDTnVUo BB0p5mEJ9B+bTDISSrTIb87ZTsfVY0j5UzUWMJyt0oK+xyuhQBeFlJXBxvTMsJM8LMpV rPXeplC8aRSobW0VyPZ1GjQ+Exj3GveBkBGaoGof8Y9hrUAi7+qpF3uMJDoswnwgHRHx /aYA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1726162851; x=1726767651; h=content-transfer-encoding:mime-version:user-agent:message-id:date :references:in-reply-to:subject:cc:to:from:x-gm-message-state:from :to:cc:subject:date:message-id:reply-to; bh=5hV9lVD4fqiKj8NJ2dqmZXqXahfK4sNNo7EFPOLniSM=; b=XdG8tFDUMoSpnyjcpFqdq1j2nXalOGH5xBaI/srfSWXthxqAUDWi4xzhFYjzXCeb2s 8yBoraEGO7i8FqSSyAC0fN8PoQSNoVUGnKjuWGzArPVOqUkpTtXwSM7/hALGIdMODPUt E2ZtP+mbGn8fPt+7/4gqkuFednWfCMzBmUBk4Y5HLGPqd5yvEytxZlY9RCcxphUkg4sO myqZATxGW1cttVpjgRPlOjChEQrDQ89xszKJdbgMeNdKYTTlTVCN7kM/3UpZNXwDKNA1 tXn4vzyCKYYIGd0IoGP7AhtK1LJh/AyzPOiUN6PCs5RyjVfPnC3wXwfp8Ke8cmPLqURu n4FA== X-Gm-Message-State: AOJu0YxNBdgVVLQ1kUC+9WCL5LeQw9uB6hLEi147fAltVc6d7uL78pdk 65mVvJa6Yxw2EpjFEuXUMiwOXyKYxC5YiO6c+448pXsSuS1X05NPARVSZg== X-Google-Smtp-Source: AGHT+IG4z5nimTRAzY6nrFkbJfb2AGG7BvV2rEya/M8HN58i63rKkz51CUNIEZ16Dqf3x0e4BUiz2A== X-Received: by 2002:a17:90b:3b90:b0:2d8:dd5c:f954 with SMTP id 98e67ed59e1d1-2db6720f2bamr17314180a91.16.1726162851036; Thu, 12 Sep 2024 10:40:51 -0700 (PDT) Received: from fedora (c-73-93-224-2.hsd1.ca.comcast.net. [73.93.224.2]) by smtp.gmail.com with ESMTPSA id d9443c01a7336-2076afdd8b2sm16739995ad.175.2024.09.12.10.40.49 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 12 Sep 2024 10:40:50 -0700 (PDT) From: Collin Funk To: 73068@debbugs.gnu.org Subject: Re: bug#73068: printf: please implement POSIX:2024 argument reordering In-Reply-To: (=?utf-8?Q?=22P=C3=A1draig?= Brady"'s message of "Thu, 12 Sep 2024 17:15:56 +0100") References: <2220600.3uDm00564X@nimes> <4856ebd5-c283-4e83-b59d-b7cf17d0c147@draigBrady.com> Date: Thu, 12 Sep 2024 10:40:48 -0700 Message-ID: <87frq4lqhr.fsf@gmail.com> User-Agent: Gnus/5.13 (Gnus v5.13) MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable X-Spam-Score: 0.2 (/) X-Debbugs-Envelope-To: 73068 Cc: bruno@clisp.org, P@draigBrady.com X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.8 (/) Hi P=C3=A1draig, P=C3=A1draig Brady writes: > I'll apply the attached sometime tomorrow. > > Marking this as done. Patch looks good, thanks. One small comment, though. > +#define GET_CURR_ARG(POS) \ > +do { \ > + char *arge; \ > + intmax_t arg =3D POS=3D=3D3 ? 0 : strtoimax (f, &arge, 10); \ > + if (0 < arg && arg <=3D INT_MAX && *arge =3D=3D '$') \ > + /* Process indexed %i$ format. */ \ > + /* Note '$' comes before any flags. */ \ Shouldn't you check errno here, like: char *arge; errno =3D 0; intmax_t arg =3D POS=3D=3D3 ? 0 : strtoimax (f, &arge, 10); if (errno =3D=3D 0 && 0 < arg && arg <=3D INT_MAX && *arge =3D=3D '$') [...] I think that would handle all bad cases. For example, I think "%$" might return 0 but set errno to EINVAL. Collin From debbugs-submit-bounces@debbugs.gnu.org Thu Sep 12 14:07:47 2024 Received: (at 73068-done) by debbugs.gnu.org; 12 Sep 2024 18:07:47 +0000 Received: from localhost ([127.0.0.1]:41908 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1sooEM-0000Ud-Se for submit@debbugs.gnu.org; Thu, 12 Sep 2024 14:07:47 -0400 Received: from mail-lf1-f53.google.com ([209.85.167.53]:49489) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1sooEK-0000UO-Mj for 73068-done@debbugs.gnu.org; Thu, 12 Sep 2024 14:07:45 -0400 Received: by mail-lf1-f53.google.com with SMTP id 2adb3069b0e04-5365c512b00so1671977e87.3 for <73068-done@debbugs.gnu.org>; Thu, 12 Sep 2024 11:07:36 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1726164390; x=1726769190; darn=debbugs.gnu.org; h=in-reply-to:from:content-language:references:cc:to:subject :user-agent:mime-version:date:message-id:sender:from:to:cc:subject :date:message-id:reply-to; bh=p/nWX1CjrqSdeI/uUg/iXhiVsq1el+Ilew68DZxIrF8=; b=Z5wi2oDcwO8yeJx23QkKPLls3X4UPxQfOxS+ys3EgqXooF0K8MGCNUkcWrCBNLR1IB PtqfvwzWa+gveEd9c8/5PkTzm+GVXNBr84i81+Gkkh1+ex7NgvLVVn+4IGvsY4SOQv12 IDSry6OBsjMHiV0IAFFvHbNOjx0KExfX/Mjzc/CpbpHQsFOfoOfpYtfyiMNOU4xyQnp7 luieFRD6BgR6gPqoF4RrcSLyznTAm3kDN/hlMrOAglrwV0xtSHIVHUHpUecKAfJ2A/Kp BugD9vdqnu2M4J3nm8VLrDwuK4cOFKGLc0R+xEd497OS5NeVV9PqU5x8n85UVfWvaivW ZhwA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1726164390; x=1726769190; h=in-reply-to:from:content-language:references:cc:to:subject :user-agent:mime-version:date:message-id:sender:x-gm-message-state :from:to:cc:subject:date:message-id:reply-to; bh=p/nWX1CjrqSdeI/uUg/iXhiVsq1el+Ilew68DZxIrF8=; b=BIHTU9Qj4stahIlzjchhUlEE5V+TE01+HPakg2UxO6dHcaoS2pzvRlcbE0AmSUNbMb ZV3hjIXNgORSDig5Ge0Fk6Ef2KVMBDE2sNnsqiaAVgR6RJh2lAeGGdADEI+GGOKQZ17+ IItXgYjRZVd+RYLw4i9tf5GXBIjcQZjTpxhlP9+qfnbKd6XzKVyTesHmJFto0HenlNpO fTeD9kkRB/FghKdBDw06bX9sygGda58hJsB/o3OdiEY3415i0Pu735EI0ipwnQA+TQnx dOXEQrDVubyFj08QAICdKtZ4sM13nDaTfl46sguoKoDD9NXW78cqdXw+ErolKBNWySec x1CA== X-Gm-Message-State: AOJu0Yz5TE8/aCAiwrUfEBSG9buPKhlhUsniYKnyuAKEnD9ZnJDn6zJE fcLpr0YCAGgEgi6DurfICJMpp66ATJYL4F1NnjseromytvmRLgjO X-Google-Smtp-Source: AGHT+IGviG9VkbEYgakvOLUBmF2xBHkY+CIJXUPCX1oNPtSqZBTklYSiguKTAVn9EW/w1F54oXqgTw== X-Received: by 2002:ac2:4c41:0:b0:52e:f58b:65ee with SMTP id 2adb3069b0e04-53678ff48ebmr2600049e87.57.1726164389725; Thu, 12 Sep 2024 11:06:29 -0700 (PDT) Received: from [192.168.1.76] (86-44-211-146-dynamic.agg2.lod.rsl-rtd.eircom.net. [86.44.211.146]) by smtp.googlemail.com with ESMTPSA id 5b1f17b1804b1-42ccdb23c56sm64129965e9.4.2024.09.12.11.06.28 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Thu, 12 Sep 2024 11:06:29 -0700 (PDT) Content-Type: multipart/mixed; boundary="------------btrg1r2RAOoLkJIZ0qrFba0T" Message-ID: <1a000b35-2d41-4d21-94ce-2e011d9c80ef@draigBrady.com> Date: Thu, 12 Sep 2024 19:06:28 +0100 MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Beta Subject: Re: bug#73068: printf: please implement POSIX:2024 argument reordering To: Bruno Haible References: <2220600.3uDm00564X@nimes> <4856ebd5-c283-4e83-b59d-b7cf17d0c147@draigBrady.com> <2338371.iQE5PxAY86@nimes> Content-Language: en-US From: =?UTF-8?Q?P=C3=A1draig_Brady?= In-Reply-To: <2338371.iQE5PxAY86@nimes> X-Spam-Score: 0.2 (/) X-Debbugs-Envelope-To: 73068-done Cc: 73068-done@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.8 (/) This is a multi-part message in MIME format. --------------btrg1r2RAOoLkJIZ0qrFba0T Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 8bit On 12/09/2024 18:06, Bruno Haible wrote: > Pádraig Brady wrote: >> I'll apply the attached sometime tomorrow. > > Nice! Thank you. > > There seems to be a typo in the unit test, though: It defines a shell > function 'printf_checki_err' but the function it then invokes is > 'printf_check_err'. Hah, good catch. That hid other errors in the test. Fixed up with the attached. thanks for the review, Pádraig --------------btrg1r2RAOoLkJIZ0qrFba0T Content-Type: text/x-patch; charset=UTF-8; name="printf-indexed-adj1.diff" Content-Disposition: attachment; filename="printf-indexed-adj1.diff" Content-Transfer-Encoding: base64 ZGlmZiAtLWdpdCBhL3Rlc3RzL3ByaW50Zi9wcmludGYtaW5kZXhlZC5zaCBiL3Rlc3RzL3By aW50Zi9wcmludGYtaW5kZXhlZC5zaAppbmRleCAxYzNhNmMzODAuLmQwZjc5OWFiMSAxMDA3 NTUKLS0tIGEvdGVzdHMvcHJpbnRmL3ByaW50Zi1pbmRleGVkLnNoCisrKyBiL3Rlc3RzL3By aW50Zi9wcmludGYtaW5kZXhlZC5zaApAQCAtMzQsMTQgKzM0LDE0IEBAIEVPRgogICBjb21w YXJlIGV4cCBvdXQgfHwgZmFpbD0xCiB9CiAKLXByaW50Zl9jaGVja2lfZXJyKCkgeworcHJp bnRmX2NoZWNrX2VycigpIHsKICAgY2F0IDw8RU9GID4gZXhwIHx8IGZyYW1ld29ya19mYWls dXJlXwogJDEKIEVPRgogCiAgIHNoaWZ0CiAKLSAgcmV0dXJuc18xICRwcm9nICIkQCIgMj4g b3V0IHx8IGZhaWw9MQorICByZXR1cm5zXyAxICRwcm9nICIkQCIgMj4gb3V0IHx8IGZhaWw9 MQogICBjb21wYXJlIGV4cCBvdXQgfHwgZmFpbD0xCiB9CiAKQEAgLTg1LDkgKzg1LDkgQEAg cHJpbnRmX2NoZWNrX2VyciAncHJpbnRmOiAlLTIkOiBpbnZhbGlkIGNvbnZlcnNpb24gc3Bl Y2lmaWNhdGlvbicgXAogCiAjIEVuc3VyZSBvbmx5IGJhc2UgMTAgbnVtYmVycyBhcmUgYWNj ZXB0ZWQKIHByaW50Zl9jaGVja19lcnIgInByaW50ZjogJ0EnOiBleHBlY3RlZCBhIG51bWVy aWMgdmFsdWUiIFwKLSAgICAgICAgICAgICAgICAgJyUweDIkcyAlMSRzXG4nIEEgQgorICAg ICAgICAgICAgICAgICAnJTB4MiRzICUyJHNcbicgQSBCCiAjIFZlcmlmeSBpbnQgbGltaXRz IChhdm9pZGluZyBjb21wYXJpc29ucyB3aXRoIGFyZ2MgZXRjLikKLXByaW50Zl9jaGVja19l cnIgInByaW50ZjogJSR7SU5UX09GTE9XfSQ6IGludmFsaWQgY29udmVyc2lvbiBzcGVjaWZp Y2F0aW9uIiBcCi0gICAgICAgICAgICAgICAgICIlJHtJTlRfT0ZMT1d9JGRcbiIgMQorcHJp bnRmX2NoZWNrX2VyciAicHJpbnRmOiAlJHtJTlRfT0ZMT1d9XCQ6IGludmFsaWQgY29udmVy c2lvbiBzcGVjaWZpY2F0aW9uIiBcCisgICAgICAgICAgICAgICAgICIlJHtJTlRfT0ZMT1d9 XCRkXG4iIDEKIAogRXhpdCAkZmFpbAo= --------------btrg1r2RAOoLkJIZ0qrFba0T-- From debbugs-submit-bounces@debbugs.gnu.org Thu Sep 12 15:05:11 2024 Received: (at 73068) by debbugs.gnu.org; 12 Sep 2024 19:05:11 +0000 Received: from localhost ([127.0.0.1]:41956 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1sop7v-0003a7-46 for submit@debbugs.gnu.org; Thu, 12 Sep 2024 15:05:11 -0400 Received: from mail-wr1-f44.google.com ([209.85.221.44]:57623) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1sop7s-0003ZP-V6 for 73068@debbugs.gnu.org; Thu, 12 Sep 2024 15:05:09 -0400 Received: by mail-wr1-f44.google.com with SMTP id ffacd0b85a97d-374c1963cb6so939422f8f.3 for <73068@debbugs.gnu.org>; Thu, 12 Sep 2024 12:05:00 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1726167835; x=1726772635; darn=debbugs.gnu.org; h=content-transfer-encoding:in-reply-to:from:content-language :references:cc:to:subject:user-agent:mime-version:date:message-id :sender:from:to:cc:subject:date:message-id:reply-to; bh=atyclwdKsOo641qxdmOVGzfhbWHJH728Aa7GCAnCk70=; b=dNtWCWMFN2gmKRZ/WWgkQQmshRL0PmndQ9aAVCMMRiLU7juVgEMSUGLwTndOJ1QNY0 0sGaX+s6Ep0bJt2sQ7SRqJoZutnFJX71lNgs96Dw2EQ5kVo3MrKknZklG7IOPsaslOuo CBKWTDUWzlmYH6Ku36mtIADfwi2iDYagbLR/ulXzkH3m2iI9sseBj4U4wHKVxcj9PuSI De+qrTN0oNWuhlsN/nBdVxB3pncQ0YMLayREvSZFDVBNKLU4LWe1lkjQ3CARSoBo7z5o /Vzhon5a5QtunfnknOoIAvWDo34iE7dE2gPusExI3kNWsMGgn//kltEeP+6vlb6sdLVW Olhg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1726167835; x=1726772635; h=content-transfer-encoding:in-reply-to:from:content-language :references:cc:to:subject:user-agent:mime-version:date:message-id :sender:x-gm-message-state:from:to:cc:subject:date:message-id :reply-to; bh=atyclwdKsOo641qxdmOVGzfhbWHJH728Aa7GCAnCk70=; b=s/OpWdt261ghcwx67585rG96EXKjgEIlMwueXbIg/zSCL3kPsEFjFrSwYW6GaBzT0b aHfe/mqMvaAwPj+RgO6f528Wqe43hOt3u0EEQokLf1FDlmOEo2VbUhSxXw9ZP5DVbXTd wZ+e2t9TZw48EnCiR31oGfaxaJc0GTi5zZZCF1TdFsqckZEhp03m5QktQ3IywOq/XHrJ ILbUiu9MsGgtoGCnRcaI4DW+k+CoVqiACrkiYvDF84bG8Heqo9mAQwO0+RNdTBqd/W4X jsCAA/F3SDgCDlMdK38wXfy9jo/1XyK9ZFoGhHggOeWmfvCEyyG5ieOGlG/Y8jc9VdLv x+vQ== X-Forwarded-Encrypted: i=1; AJvYcCWxNFjW1XqfNEa/VOurHxGmNaG9ELqH1g1fRm+fDaFKssTGgYokCED2mPcZCgw3hY/XkRC1+w==@debbugs.gnu.org X-Gm-Message-State: AOJu0YxnYkmXm6GvBI6Gwy1thAfPwViKIfu2jFgUCdMvAXHFQ3FuWYm3 brmKk0a4rkhNEJkKK2IQjpt6OHuNtCx+my6VJPE2LtXmw5y7qkan X-Google-Smtp-Source: AGHT+IFo8V6zVJgbo46Adb389V/mC3D+VSTsZpnkWHoHsf+AI6YRRuXQW80Z7UuRoEpJ5/VYVWuFeA== X-Received: by 2002:a05:6000:542:b0:374:c0a3:fbb1 with SMTP id ffacd0b85a97d-378c2d12e01mr2281512f8f.35.1726167834553; Thu, 12 Sep 2024 12:03:54 -0700 (PDT) Received: from [192.168.1.76] (86-44-211-146-dynamic.agg2.lod.rsl-rtd.eircom.net. [86.44.211.146]) by smtp.googlemail.com with ESMTPSA id ffacd0b85a97d-378956653c6sm15035846f8f.32.2024.09.12.12.03.53 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Thu, 12 Sep 2024 12:03:54 -0700 (PDT) Message-ID: Date: Thu, 12 Sep 2024 20:03:51 +0100 MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Beta Subject: Re: bug#73068: printf: please implement POSIX:2024 argument reordering To: Collin Funk , 73068@debbugs.gnu.org References: <2220600.3uDm00564X@nimes> <4856ebd5-c283-4e83-b59d-b7cf17d0c147@draigBrady.com> <87frq4lqhr.fsf@gmail.com> Content-Language: en-US From: =?UTF-8?Q?P=C3=A1draig_Brady?= In-Reply-To: <87frq4lqhr.fsf@gmail.com> Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 8bit X-Spam-Score: 0.2 (/) X-Debbugs-Envelope-To: 73068 Cc: bruno@clisp.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.8 (/) On 12/09/2024 18:40, Collin Funk wrote: > Hi Pádraig, > > Pádraig Brady writes: > >> I'll apply the attached sometime tomorrow. >> >> Marking this as done. > > Patch looks good, thanks. > > One small comment, though. > >> +#define GET_CURR_ARG(POS) \ >> +do { \ >> + char *arge; \ >> + intmax_t arg = POS==3 ? 0 : strtoimax (f, &arge, 10); \ >> + if (0 < arg && arg <= INT_MAX && *arge == '$') \ >> + /* Process indexed %i$ format. */ \ >> + /* Note '$' comes before any flags. */ \ > > Shouldn't you check errno here, like: > > char *arge; > errno = 0; > intmax_t arg = POS==3 ? 0 : strtoimax (f, &arge, 10); > if (errno == 0 && 0 < arg && arg <= INT_MAX && *arge == '$') > [...] > > I think that would handle all bad cases. > > For example, I think "%$" might return 0 but set errno to EINVAL. A fair point, but note we only accept 1 ... INT_MAX, so that implicitly excludes any of the possible error returns. I should at least add a comment. Though it got me thinking that strtol() may be too lenient in what it accepts, resulting in possible confusion for users. For example some printf flags like ' ' or '+' would be accepted as part of a number, when ideally they should not be. For example, the user might do: $ printf '[% 1$d]\n' 1234 [1234] When they really intended: $ printf '[%1$ d]\n' 1234 [ 1234] This is tricky enough, that we should be as restrictive as possible here, so I may resort to strspn(f, "0123456789") to parse instead. I'll think a bit about it. thanks! Pádraig From debbugs-submit-bounces@debbugs.gnu.org Thu Sep 12 15:33:24 2024 Received: (at 73068) by debbugs.gnu.org; 12 Sep 2024 19:33:24 +0000 Received: from localhost ([127.0.0.1]:41981 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1sopZE-000591-9h for submit@debbugs.gnu.org; Thu, 12 Sep 2024 15:33:24 -0400 Received: from mail.cs.ucla.edu ([131.179.128.66]:42848) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1sopZC-00058m-Ag for 73068@debbugs.gnu.org; Thu, 12 Sep 2024 15:33:23 -0400 Received: from localhost (localhost [127.0.0.1]) by mail.cs.ucla.edu (Postfix) with ESMTP id 085B53C011BDD; Thu, 12 Sep 2024 12:33:08 -0700 (PDT) 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 mzif-VnyhE17; Thu, 12 Sep 2024 12:33:07 -0700 (PDT) Received: from localhost (localhost [127.0.0.1]) by mail.cs.ucla.edu (Postfix) with ESMTP id 98BF93C00FA8F; Thu, 12 Sep 2024 12:33:07 -0700 (PDT) DKIM-Filter: OpenDKIM Filter v2.10.3 mail.cs.ucla.edu 98BF93C00FA8F DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=cs.ucla.edu; s=9D0B346E-2AEB-11ED-9476-E14B719DCE6C; t=1726169587; bh=W9w/FqbcwQJ2zYeHwQmpP5teIDMDikAYNM4jXNCDu64=; h=Message-ID:Date:MIME-Version:To:From; b=ijul2CvMUxvL0K0clErntXFDSAsPrqQXLo7I3RzGMHCBaQ9wbBbz3qsKSYZL9PsAu +IX2iD5rS5go8b6VrOoOXotWuBs/he4JvfzMQGO/aqngMIXnL3c/Haazu9g6masgDv mLaN0yURCW+j6pj2FHrR3xnhkFQt66CjZwMc5u02bvucWExjFvSz0jnbrXZlgCiJ8O ABi5TASOGnCGllVZwQl10KEqnfjR+eu6PgXlLy6fIysWoQSNc1v8TrCrCIeLkS2LOI SOGRH7fo1INDM8DBXufawACyryqohbdsWpJUQpC0uIpMOimx/FiaaSXfwHUYvrfiHR r2IPNv3DBkY0g== 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 4gfJ46H6yGrR; Thu, 12 Sep 2024 12:33:07 -0700 (PDT) Received: from [192.168.254.12] (unknown [47.150.137.250]) by mail.cs.ucla.edu (Postfix) with ESMTPSA id 769D33C011BDD; Thu, 12 Sep 2024 12:33:07 -0700 (PDT) Message-ID: <8f9d4203-ad1e-42c6-81f3-e133461c59c2@cs.ucla.edu> Date: Thu, 12 Sep 2024 12:33:07 -0700 MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Subject: Re: bug#73068: printf: please implement POSIX:2024 argument reordering To: =?UTF-8?Q?P=C3=A1draig_Brady?= , Collin Funk , 73068@debbugs.gnu.org References: <2220600.3uDm00564X@nimes> <4856ebd5-c283-4e83-b59d-b7cf17d0c147@draigBrady.com> <87frq4lqhr.fsf@gmail.com> Content-Language: en-US From: Paul Eggert Organization: UCLA Computer Science Department In-Reply-To: Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: quoted-printable X-Spam-Score: -0.0 (/) X-Debbugs-Envelope-To: 73068 Cc: bruno@clisp.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) On 2024-09-12 12:03, P=C3=A1draig Brady wrote: > This is tricky enough, that we should be as restrictive as possible her= e, > so I may resort to strspn(f, "0123456789") to parse instead. > I'll think a bit about it. The code's also assuming INT_MAX < INTMAX_MAX, which POSIX doesn't=20 require. You could put in a static_assert to that effect, I suppose, to=20 document the assumption. More important, though, if you're not in the C locale all bets are off=20 as far as what strtoimax will also parse. When I ran into this problem with GNU tar, I ended by giving up on=20 strtoimax and did my own little integer parser. It does exactly what I=20 want and I don't have to fire up the strtoimax complexity+locale engine. From debbugs-submit-bounces@debbugs.gnu.org Fri Sep 13 08:56:46 2024 Received: (at 73068) by debbugs.gnu.org; 13 Sep 2024 12:56:46 +0000 Received: from localhost ([127.0.0.1]:42689 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1sp5qv-0004L5-O8 for submit@debbugs.gnu.org; Fri, 13 Sep 2024 08:56:46 -0400 Received: from mail-wm1-f52.google.com ([209.85.128.52]:46111) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1sp5qt-0004Kh-Ik for 73068@debbugs.gnu.org; Fri, 13 Sep 2024 08:56:44 -0400 Received: by mail-wm1-f52.google.com with SMTP id 5b1f17b1804b1-42cb1e623d1so20738085e9.0 for <73068@debbugs.gnu.org>; Fri, 13 Sep 2024 05:56:34 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1726232129; x=1726836929; darn=debbugs.gnu.org; h=in-reply-to:from:content-language:references:cc:to:subject :user-agent:mime-version:date:message-id:sender:from:to:cc:subject :date:message-id:reply-to; bh=hQWeIGXNa2dcZHiIcTi3tRN8tIPpxhzOyzeHSmrmjOo=; b=IC/cQ4HKkfadBbKiTmW6ZB2L4ivUmIsMMx6n+KRqhjnWeKq7C1Npg1+cm8sL59CX64 wiw7sWoxFoP7bGRZheEanQh550fAlCaRBRqgfaIYCs9plGaTuEIuNqAd3qU8Om5wyc4B FD9Dsv3Buucs0pSzkwzV8JMBeaHN36vkvhAnVPy/zgYk45IpRNphu9xqomFN/wPe82UD gm7FsrY8BQJONYUuc91fmBmgl3mhnOToqjZJmspUo2W2P4xB7xnSXLxz8W4WM8guJeYA /ximAGm/qF4fe825cuxyj44lNLqybq9evEbE+j+bkz6POrb1WBt0ZQeQ0662cUAU/uTp vO7A== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1726232129; x=1726836929; h=in-reply-to:from:content-language:references:cc:to:subject :user-agent:mime-version:date:message-id:sender:x-gm-message-state :from:to:cc:subject:date:message-id:reply-to; bh=hQWeIGXNa2dcZHiIcTi3tRN8tIPpxhzOyzeHSmrmjOo=; b=WUElC9tbuzU0wfP0o3vwUfBGuD0JWoBPRfhzttcWvzUJ1nN416wuQRljozoWf3Nas2 ztCthzop4Glska0ORmR7X8F46zNn/pyi+JLw9NUvBA2NhmOcRvXfAgRL9/ydrBgoRqCA mEuwvHKfCxn10nKgGftq14/3Tsc1sd7jBaSZy+r6pYBOVjrAhNFKg7dCgJLa4gNnKnC3 tuD8YRymvnIIpflu9nq5zsgdT/TuzXzP4ffboA7NwBkU9fjPCoPflV4udjEILxe1iIV9 AdjxtZ6baZ8Y0JMuuf/FAr8OzNkv6t9CDFwqzJmEwIKpB6/rIu+l+xu8AQR7xvSWdCXm Hsbg== X-Forwarded-Encrypted: i=1; AJvYcCU3v53l+v1fSAlnBvVY1k+T8PHXshNrGZ9bU1uqar3phaUP1EFhZr6bchLKKdCh2KzrKz6yjA==@debbugs.gnu.org X-Gm-Message-State: AOJu0YzKwCgHZAQyrXrLOqfbAjqs8Njd/PHy4pdQYKznep39oQ0+B60G MgtvmlNN4wOx0kyJ/POtfY/cebkDMLQToupSCcQYiACvIqiSSQoK X-Google-Smtp-Source: AGHT+IGkrvVp9OPOfZVGNA7n2NmF7R0zs0UDqIqcoTcpnpAg4bstoHAZOZDg2tNJYEO21+iDrHGTlQ== X-Received: by 2002:a05:600c:1d28:b0:42c:ba1f:543e with SMTP id 5b1f17b1804b1-42cdb56caa4mr52291395e9.26.1726232128147; Fri, 13 Sep 2024 05:55:28 -0700 (PDT) Received: from [192.168.1.76] (86-44-211-146-dynamic.agg2.lod.rsl-rtd.eircom.net. [86.44.211.146]) by smtp.googlemail.com with ESMTPSA id ffacd0b85a97d-378956d35b9sm16917775f8f.70.2024.09.13.05.55.27 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Fri, 13 Sep 2024 05:55:27 -0700 (PDT) Content-Type: multipart/mixed; boundary="------------B4oXpnS00qN24TypISkXo4yt" Message-ID: <1a3703d9-6bfb-4f66-9b2b-576203045ebc@draigBrady.com> Date: Fri, 13 Sep 2024 13:55:26 +0100 MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Beta Subject: Re: bug#73068: printf: please implement POSIX:2024 argument reordering To: Paul Eggert , Collin Funk , 73068@debbugs.gnu.org References: <2220600.3uDm00564X@nimes> <4856ebd5-c283-4e83-b59d-b7cf17d0c147@draigBrady.com> <87frq4lqhr.fsf@gmail.com> <8f9d4203-ad1e-42c6-81f3-e133461c59c2@cs.ucla.edu> Content-Language: en-US From: =?UTF-8?Q?P=C3=A1draig_Brady?= In-Reply-To: <8f9d4203-ad1e-42c6-81f3-e133461c59c2@cs.ucla.edu> X-Spam-Score: 0.2 (/) X-Debbugs-Envelope-To: 73068 Cc: bruno@clisp.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.8 (/) This is a multi-part message in MIME format. --------------B4oXpnS00qN24TypISkXo4yt Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 8bit On 12/09/2024 20:33, Paul Eggert wrote: > On 2024-09-12 12:03, Pádraig Brady wrote: > > >> This is tricky enough, that we should be as restrictive as possible here, >> so I may resort to strspn(f, "0123456789") to parse instead. >> I'll think a bit about it. > > The code's also assuming INT_MAX < INTMAX_MAX, which POSIX doesn't > require. You could put in a static_assert to that effect, I suppose, to > document the assumption. Indeed. We would have incorrectly taken the INTMAX_MAX arg in the (albeit unlikely) case where INT_MAX >= INTMAX_MAX, and the provided number overflowed INTMAX_MAX. To be explicit, strtol() doesn't return 0 in that case, so we need to check overflow (like Colin suggested). > More important, though, if you're not in the C locale all bets are off > as far as what strtoimax will also parse. > > When I ran into this problem with GNU tar, I ended by giving up on > strtoimax and did my own little integer parser. It does exactly what I > want and I don't have to fire up the strtoimax complexity+locale engine. Right, it's best to preparse for the above reason, and to avoid any confusion re leading spaces etc. like I previously mentioned. The attached adjustment does the preparse with strspn(), and only does the strtoimax() for appropriate strings. cheers, Pádraig --------------B4oXpnS00qN24TypISkXo4yt Content-Type: text/x-patch; charset=UTF-8; name="printf-indexed-adj2.diff" Content-Disposition: attachment; filename="printf-indexed-adj2.diff" Content-Transfer-Encoding: base64 ZGlmZiAtLWdpdCBhL3NyYy9wcmludGYuYyBiL3NyYy9wcmludGYuYwppbmRleCAzNzg0NGYx NGEuLjQ0MjkzNTcwNSAxMDA2NDQKLS0tIGEvc3JjL3ByaW50Zi5jCisrKyBiL3NyYy9wcmlu dGYuYwpAQCAtNDU0LDE0ICs0NTQsMjMgQEAgcHJpbnRfZm9ybWF0dGVkIChjaGFyIGNvbnN0 ICpmb3JtYXQsIGludCBhcmdjLCBjaGFyICoqYXJndikKIAogI2RlZmluZSBHRVRfQ1VSUl9B UkcoUE9TKQkJCQlcCiBkbyB7CQkJCQkJCVwKLSAgY2hhciAqYXJnZTsJCQkJCQlcCi0gIGlu dG1heF90IGFyZyA9IFBPUz09MyA/IDAgOiBzdHJ0b2ltYXggKGYsICZhcmdlLCAxMCk7CVwK LSAgaWYgKDAgPCBhcmcgJiYgYXJnIDw9IElOVF9NQVggJiYgKmFyZ2UgPT0gJyQnKQlcCisg IGludG1heF90IGFyZyA9IDA7CQkJCQlcCisgIHNpemVfdCBhcmdsOwkJCQkJCVwKKyAgLyog Q2hlY2sgd2l0aCBzdHJzcG4oKSBmaXJzdCB0byBhdm9pZCBzcGFjZXMgZXRjLglcCisgICAg IFRoaXMgYWxzbyBhdm9pZHMgYW55IGxvY2FsZSBhbWJpZ3VpdGllcy4gICovCVwKKyAgaWYg KFBPUyAhPSAzICYmIChhcmdsID0gc3Ryc3BuIChmLCAiMDEyMzQ1Njc4OSIpKQlcCisgICAg ICAmJiBmW2FyZ2xdID09ICckJykJCQkJXAorICAgIHsJCQkJCQkJXAorICAgICAgZXJybm8g PSAwOwkJCQkJXAorICAgICAgYXJnID0gc3RydG9pbWF4IChmLCBOVUxMLCAxMCk7CQkJXAor ICAgICAgaWYgKGVycm5vKQkJCQkJXAorICAgICAgICBhcmcgPSAwOwkJCQkJXAorICAgIH0J CQkJCQkJXAorICBpZiAoMSA8PSBhcmcgJiYgYXJnIDw9IElOVF9NQVgpCQkJXAogICAgIC8q IFByb2Nlc3MgaW5kZXhlZCAlaSQgZm9ybWF0LiAgKi8JCQlcCi0gICAgLyogTm90ZSAnJCcg Y29tZXMgYmVmb3JlIGFueSBmbGFncy4gICovCQlcCiAgICAgewkJCQkJCQlcCiAgICAgICBT RVRfQ1VSUl9BUkcgKGFyZyAtIDEpOwkJCQlcCi0gICAgICBmID0gYXJnZSArIDE7CQkJCQlc CisgICAgICBmICs9IGFyZ2wgKyAxOwkJCQkJXAogICAgICAgaWYgKFBPUyA9PSAwKQkJCQkJ XAogICAgICAgICBkaXJlY19hcmcgPSBhcmcgLSAxOwkJCQlcCiAgICAgfQkJCQkJCQlcCmRp ZmYgLS1naXQgYS90ZXN0cy9wcmludGYvcHJpbnRmLWluZGV4ZWQuc2ggYi90ZXN0cy9wcmlu dGYvcHJpbnRmLWluZGV4ZWQuc2gKaW5kZXggZDBmNzk5YWIxLi41ZDYzZDY4ZjggMTAwNzU1 Ci0tLSBhL3Rlc3RzL3ByaW50Zi9wcmludGYtaW5kZXhlZC5zaAorKysgYi90ZXN0cy9wcmlu dGYvcHJpbnRmLWluZGV4ZWQuc2gKQEAgLTc1LDE5ICs3NSwyOCBAQCBwcmludGZfY2hlY2sg JyAgIDEnICclMiQqMSRkXG4nIDQgMQogIyBJbmRleGVkIGFyZywgYW5kIHNlcXVlbnRpYWwg d2lkdGgKIHByaW50Zl9jaGVjayAnICAgMScgJyUyJCpkXG4nIDQgMQogCi0jIEZsYWdzIGNv bWUgYWZ0ZXIgJCAoMCBpcyBub3QgYSBmbGFnIGhlcmUpOgorIyBGbGFncyBjb21lIGFmdGVy ICQgKDAgaXMgbm90IGEgZmxhZyBoZXJlIGJ1dCBhbGxvd2VkKToKIHByaW50Zl9jaGVjayAn ICAgMScgJyUwMSQ0ZFxuJyAxCiAjIEZsYWdzIGNvbWUgYWZ0ZXIgJCAoMCBpcyBhIGZsYWcg aGVyZSk6CiBwcmludGZfY2hlY2sgJzAwMDEnICclMSQwKjIkZFxuJyAxIDQKICMgRmxhZ3Mg Y29tZSBhZnRlciAkICgtMiBub3QgdGFrZW4gYXMgYSB2YWxpZCBpbmRleCBoZXJlKToKIHBy aW50Zl9jaGVja19lcnIgJ3ByaW50ZjogJS0yJDogaW52YWxpZCBjb252ZXJzaW9uIHNwZWNp ZmljYXRpb24nIFwKICAgICAgICAgICAgICAgICAgJyUtMiRzICUxJHNcbicgQSBCCisjIEZs YWdzIGNvbWUgYWZ0ZXIgJCAoJyAnIGlzIG5vdCBhbGxvd2VkIGFzIHBhcnQgb2YgbnVtYmVy IGhlcmUpCitwcmludGZfY2hlY2tfZXJyICdwcmludGY6ICUgMiQ6IGludmFsaWQgY29udmVy c2lvbiBzcGVjaWZpY2F0aW9uJyBcCisgICAgICAgICAgICAgICAgICclIDIkcyAlMSRzXG4n IEEgQgogCiAjIEVuc3VyZSBvbmx5IGJhc2UgMTAgbnVtYmVycyBhcmUgYWNjZXB0ZWQKIHBy aW50Zl9jaGVja19lcnIgInByaW50ZjogJ0EnOiBleHBlY3RlZCBhIG51bWVyaWMgdmFsdWUi IFwKICAgICAgICAgICAgICAgICAgJyUweDIkcyAlMiRzXG4nIEEgQgorIyBFbnN1cmUgZW1w dHkgbnVtYmVycyBhcmUgcmVqZWN0ZWQKK3ByaW50Zl9jaGVja19lcnIgJ3ByaW50ZjogJSQ6 IGludmFsaWQgY29udmVyc2lvbiBzcGVjaWZpY2F0aW9uJyBcCisgICAgICAgICAgICAgICAg ICclJGRcbicgMQogIyBWZXJpZnkgaW50IGxpbWl0cyAoYXZvaWRpbmcgY29tcGFyaXNvbnMg d2l0aCBhcmdjIGV0Yy4pCiBwcmludGZfY2hlY2tfZXJyICJwcmludGY6ICUke0lOVF9PRkxP V31cJDogaW52YWxpZCBjb252ZXJzaW9uIHNwZWNpZmljYXRpb24iIFwKICAgICAgICAgICAg ICAgICAgIiUke0lOVF9PRkxPV31cJGRcbiIgMQorIyBWZXJpZnkgaW50bWF4IGxpbWl0cywg ZW5zdXJpbmcgb3ZlcmZsb3cgZGV0ZWN0ZWQKK3ByaW50Zl9jaGVja19lcnIgInByaW50Zjog JSR7SU5UTUFYX09GTE9XfVwkOiBpbnZhbGlkIGNvbnZlcnNpb24gc3BlY2lmaWNhdGlvbiIg XAorICAgICAgICAgICAgICAgICAiJSR7SU5UTUFYX09GTE9XfVwkZFxuIiAxCiAKIEV4aXQg JGZhaWwK --------------B4oXpnS00qN24TypISkXo4yt-- From debbugs-submit-bounces@debbugs.gnu.org Fri Sep 13 12:34:01 2024 Received: (at 73068) by debbugs.gnu.org; 13 Sep 2024 16:34:01 +0000 Received: from localhost ([127.0.0.1]:44164 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1sp9FB-0001gQ-8U for submit@debbugs.gnu.org; Fri, 13 Sep 2024 12:34:01 -0400 Received: from mail-wm1-f44.google.com ([209.85.128.44]:55526) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1sp9F8-0001gA-L2 for 73068@debbugs.gnu.org; Fri, 13 Sep 2024 12:33:59 -0400 Received: by mail-wm1-f44.google.com with SMTP id 5b1f17b1804b1-42cbc22e1c4so10250315e9.2 for <73068@debbugs.gnu.org>; Fri, 13 Sep 2024 09:33:49 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1726245163; x=1726849963; darn=debbugs.gnu.org; h=content-transfer-encoding:in-reply-to:content-language:references :cc:to:from:subject:user-agent:mime-version:date:message-id:sender :from:to:cc:subject:date:message-id:reply-to; bh=wfu0qmxyr+Bj9QDwGaOC+qRAAj6XaXy2Wa5O3cWBrF8=; b=T2m5aQWChJb41xsy6lq+euHA3GDTsdbi4x0Vkkd5abxTBnGEK9AibK3m4mCeJzycTC 2MTrr78FVYezcrNCfoXQLR1sI7eHoi8EruYln0C8OjoDyr+lyP3EwMDzrnTTPLWjsGTQ taqG4nKhkmRNLXwgTwGOVx+qJXqo326g/2jYe0wr8/Ry2j2rvZFiuOI2D9Hn/7yFlb77 F4w7Aby39/BvCqPAnrrSwVehSToUoh+pFE+RRmljgZzwXPJFrczRHCk8Y6ilguSrgZ5w AUM/XstfkGRqRja5mX8xzijnUoLVr+ni4N5rfHmHVR6gEIoF3m5rs3+1ZA0VkQ0Th74G krXw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1726245163; x=1726849963; h=content-transfer-encoding:in-reply-to:content-language:references :cc:to:from:subject:user-agent:mime-version:date:message-id:sender :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=wfu0qmxyr+Bj9QDwGaOC+qRAAj6XaXy2Wa5O3cWBrF8=; b=kxnem8SWv+/bC570iPbMYAANlqkcSYQylh1y39aKuzIExLM30adgLUFX8kHwsPC5Yr q7Q9UAWXURDFueCkYSsfbycnLYq/w+FZnNeGGj3n9IA53rPHqPxs4SliRO2DBQJYk1F9 sLnXllUcS+QnYVUngICuNqzkYJLxnQH37u6osXLMN5SOYCiUjstLU2Ahnx0PAhA9ePa2 pJNbz5TMsam0n6Q/CHhwQ9vt2Qbr0g1XceBNNzxOUQezdLzrMAAzlzBH7Uq133fFS5j+ UATJdKw2MB5/3j9EBvawMD3wlfTgKzKTI5iZaQ0NQWWV2E9VLKV0z5Q0RU53GAh3tLsQ oTkg== X-Forwarded-Encrypted: i=1; AJvYcCVWFGwl76tyVs7Kg27sUAQ1n2rkNNuPQ8jY8n2hJU4HMW3WSBjHSp6kUvZ6e4xUOUTSMrw8Zg==@debbugs.gnu.org X-Gm-Message-State: AOJu0YzrNuJ51U0f0NvjM36sNUzbg42W5b/eANBSzFrpz0SDxyKyGcqx cAWAkKfAJWuQbD18r2/R6+uefFrGriLEFUrkv8QTiyJa4VBvOnX/ X-Google-Smtp-Source: AGHT+IETH+VETtE7JpyGky4JYTU6Mp1lY93GOMaXLjbMpeI50EnrHCiKPikPQPFYV0fdQ1CpqERg/A== X-Received: by 2002:a05:600c:1ca8:b0:425:80d5:b8b2 with SMTP id 5b1f17b1804b1-42d9082a676mr32384425e9.16.1726245163063; Fri, 13 Sep 2024 09:32:43 -0700 (PDT) Received: from [192.168.1.76] (86-44-211-146-dynamic.agg2.lod.rsl-rtd.eircom.net. [86.44.211.146]) by smtp.googlemail.com with ESMTPSA id 5b1f17b1804b1-42d9b05d5dbsm31946815e9.13.2024.09.13.09.32.42 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Fri, 13 Sep 2024 09:32:42 -0700 (PDT) Message-ID: <810365b2-abd7-467e-be46-13831d3d3458@draigBrady.com> Date: Fri, 13 Sep 2024 17:32:41 +0100 MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Beta Subject: Re: bug#73068: printf: please implement POSIX:2024 argument reordering From: =?UTF-8?Q?P=C3=A1draig_Brady?= To: Paul Eggert , Collin Funk , 73068@debbugs.gnu.org References: <2220600.3uDm00564X@nimes> <4856ebd5-c283-4e83-b59d-b7cf17d0c147@draigBrady.com> <87frq4lqhr.fsf@gmail.com> <8f9d4203-ad1e-42c6-81f3-e133461c59c2@cs.ucla.edu> <1a3703d9-6bfb-4f66-9b2b-576203045ebc@draigBrady.com> Content-Language: en-US In-Reply-To: <1a3703d9-6bfb-4f66-9b2b-576203045ebc@draigBrady.com> Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 8bit X-Spam-Score: 0.2 (/) X-Debbugs-Envelope-To: 73068 Cc: bruno@clisp.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.8 (/) On 13/09/2024 13:55, Pádraig Brady wrote: > On 12/09/2024 20:33, Paul Eggert wrote: >> On 2024-09-12 12:03, Pádraig Brady wrote: >> >> >>> This is tricky enough, that we should be as restrictive as possible here, >>> so I may resort to strspn(f, "0123456789") to parse instead. >>> I'll think a bit about it. >> >> The code's also assuming INT_MAX < INTMAX_MAX, which POSIX doesn't >> require. You could put in a static_assert to that effect, I suppose, to >> document the assumption. > > Indeed. We would have incorrectly taken the INTMAX_MAX arg in the > (albeit unlikely) case where INT_MAX >= INTMAX_MAX, > and the provided number overflowed INTMAX_MAX. > To be explicit, strtol() doesn't return 0 in that case, > so we need to check overflow (like Colin suggested). > >> More important, though, if you're not in the C locale all bets are off >> as far as what strtoimax will also parse. >> >> When I ran into this problem with GNU tar, I ended by giving up on >> strtoimax and did my own little integer parser. It does exactly what I >> want and I don't have to fire up the strtoimax complexity+locale engine. > > Right, it's best to preparse for the above reason, > and to avoid any confusion re leading spaces etc. like I previously mentioned. > > The attached adjustment does the preparse with strspn(), > and only does the strtoimax() for appropriate strings. I adjusted and pushed a further simplification that clamps %$ to %INT_MAX$, which is equivalent as argc can practically only be <= INT_MAX - 2. That simplifies the strtoimax() error handling, and removes any limits on valid decimal numbers. cheers, Pádraig From unknown Sat Jun 21 10:43:41 2025 Received: (at fakecontrol) by fakecontrolmessage; To: internal_control@debbugs.gnu.org From: Debbugs Internal Request Subject: Internal Control Message-Id: bug archived. Date: Sat, 12 Oct 2024 11:24:05 +0000 User-Agent: Fakemail v42.6.9 # This is a fake control message. # # The action: # bug archived. thanks # This fakemail brought to you by your local debbugs # administrator