From mboxrd@z Thu Jan 1 00:00:00 1970 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on inbox.vuxu.org X-Spam-Level: X-Spam-Status: No, score=-3.3 required=5.0 tests=MAILING_LIST_MULTI, RCVD_IN_DNSWL_MED,RCVD_IN_MSPIKE_H3,RCVD_IN_MSPIKE_WL autolearn=ham autolearn_force=no version=3.4.4 Received: (qmail 6946 invoked from network); 14 Dec 2021 16:51:14 -0000 Received: from mother.openwall.net (195.42.179.200) by inbox.vuxu.org with ESMTPUTF8; 14 Dec 2021 16:51:14 -0000 Received: (qmail 29808 invoked by uid 550); 14 Dec 2021 16:51:12 -0000 Mailing-List: contact musl-help@lists.openwall.com; run by ezmlm Precedence: bulk List-Post: List-Help: List-Unsubscribe: List-Subscribe: List-ID: Reply-To: musl@lists.openwall.com Received: (qmail 29770 invoked from network); 14 Dec 2021 16:51:11 -0000 Date: Tue, 14 Dec 2021 11:50:58 -0500 From: Rich Felker To: Andrew Snyder Cc: musl@lists.openwall.com Message-ID: <20211214165057.GH7074@brightrain.aerifal.cx> References: <20211214160327.GA1494342@port70.net> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: User-Agent: Mutt/1.5.21 (2010-09-15) Subject: Re: [musl] print does not support variable width plus padding On Tue, Dec 14, 2021 at 11:10:23AM -0500, Andrew Snyder wrote: > Sorry accidentally sent before attaching this > > ~# docker run -it --rm alpine /bin/ash > / # /lib/libc.musl-x86_64.so.1 > musl libc (x86_64) > Version 1.2.2 > Dynamic Program Loader > Usage: /lib/libc.musl-x86_64.so.1 [options] [--] pathname [args] > / # printf %0*i 2 1 > ash: %0*i: invalid format This is the busybox printf(1) command not the printf(3) C function. Rich > On Tue, Dec 14, 2021 at 11:09 AM Andrew Snyder wrote: > > > I get an error from printf i assume that underlying printf function is > > returning error code. In my native implementation i get incorrect results > > and really depends on the parameters i didn't dig into too deep to see what > > the pattern was > > > > > > On Tue, Dec 14, 2021 at 11:03 AM Szabolcs Nagy wrote: > > > >> * Andrew Snyder [2021-12-14 10:22:42 -0500]: > >> > I would like to be cc'd on the replies > >> > > >> > Looks like a bug in the musl printf functionality > >> > > >> > When using variable width format string and specifying a padding musl > >> fails > >> > to format properly. > >> > > >> > I am using musl indirectly through an emscripten compile of a native > >> > library. > >> > > >> > Consider the following repro steps using alpine docker image. Correct > >> > results exist when using ubuntu image > >> > > >> > # Correct expected ' 1' > >> > docker run -it --rm alpine printf %2i 1 > >> > # Correct expected ' 1' > >> > docker run -it --rm alpine printf %*i 2 1 > >> > # Correct expected '01' > >> > docker run -it --rm alpine printf %02i 1 > >> > # errors, Expected '01' > >> > docker run -it --rm alpine printf %0*i 2 1 > >> > >> i get the expected result on alpine > >> > >> $ printf %0*i 2 1 > >> 01 > >> > >> what do you get? > >> > >>