From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mail-wm1-f48.google.com (mail-wm1-f48.google.com [209.85.128.48]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id ADD1C21D3F4 for ; Mon, 16 Feb 2026 22:52:16 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.128.48 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1771282338; cv=none; b=g2iOzGkDHmUGBlNv1WXzqedG7rjdTE1iZ9Zhe45GN3ycYAuK+dzaeZpNKUWbMyIc+WWwl/RaAI5E66Ly3J5DKO4sv6l1ud1tQnupiRWAdXyBCyxoPirVefEgI80JoXcyxAPTokicnJ4DuyUyC1W1/D2+cAnZANnJL0Z1woEMqjI= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1771282338; c=relaxed/simple; bh=y6rCiBsYvD5vDUe7bG9oEuLuwd8I/pyW2toxYWN3lbU=; h=Date:From:To:Cc:Subject:Message-ID:In-Reply-To:References: MIME-Version:Content-Type; b=oj4mIE6vDIU+TO++P/D0DM7Z5S+A8Kr5PZZBgbSZGHnxyvR6znuuL84EylH+CvbNvAvozqREdh50d29dLyyv/7ylYwEX2hGYFcZKuRUH78Y4Xgb9YEenmcbz61rSp4Y3KDLcxpn5CZOq0NIQVzI63H4W77tgFQ65lf8m2wwZW9s= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com; spf=pass smtp.mailfrom=gmail.com; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b=bk85d+rg; arc=none smtp.client-ip=209.85.128.48 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=gmail.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="bk85d+rg" Received: by mail-wm1-f48.google.com with SMTP id 5b1f17b1804b1-48374014a77so30619285e9.3 for ; Mon, 16 Feb 2026 14:52:16 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1771282335; x=1771887135; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:subject:cc:to:from:date:from:to:cc:subject:date :message-id:reply-to; bh=GKPzJaZFjZjEj+jo4UAniJCyfgx45459fAty22Ef3Mk=; b=bk85d+rgyXLIi70Ak0GrkCAnMVLUHuJkqgIh8Vst7KGBXREo7FjS4NUD8yiaWv8r/6 V9WGE6dRxjqdclNiVbb9kQXiLKYJi+nh+KFTaQsb/+p4kSuqdaOHB+Nj8oHQzZYwSvZg altkl/HuYzADyz76oCng8PF3vGfzObjwHdOiuU1hxMQF6ljwTXiaGdgAVUoaBVosEpi0 t6wqyjJeBwiKTgVUgoqcHIx636sJE9D1Ny15r3jfiRc118YEvBK03ECQ3EnD/7QcYApO j4jLB9VdXOn5NkVBz9ot2shkomPOyi4GF3sMYYRsyNVcbMdGarkPXnmTraX1Dg45wpFj uv9A== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1771282335; x=1771887135; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:subject:cc:to:from:date:x-gm-gg:x-gm-message-state:from :to:cc:subject:date:message-id:reply-to; bh=GKPzJaZFjZjEj+jo4UAniJCyfgx45459fAty22Ef3Mk=; b=lgIJhf/Bu8s67ytX6q5et4uaX/skquyQut2F7tjClWo4Gu5H+iPsrGynmuesHCN9+Y r9mFBr0a2uLzLQ0vG4qKqFCm8hCD2agrg6RjSrXoorfWrIdP6KOfqGfY+WRO7JvMDIsb 1RPvAJaEPYIpUKGLjOFxn53UOF6NOoDir6bn4d5d+12vTwKTiWrX4DWQhD46BPErqfy+ +Q8aPynWwF2copPEBXLBkx/jThSQGH/Cu+66Uw9pzEeRyy6nCDTKl9kH2Jx9YgyES/yD EfSwqvpMk2MSI9JuistP24JXC3kqy3Tt9WoOemPWdgupCssjrqp1WwBNpOBAHCyqrb48 2b2w== X-Forwarded-Encrypted: i=1; AJvYcCUu+yx9nSjB6ek6Dq9AkxssWLPIk5loQzk0bEQXDLFuAm+TrAjrtCuo5wDQr0VaQM6ad9eK+98t0SqkbaY=@vger.kernel.org X-Gm-Message-State: AOJu0YzoeHpA8W1Fv8Ufbp4q/obgkWTLH493VuOSteNBjkq/NSpYaEvD w4cb27OZzp8w6O3qrsL4/kC/riGqtTaz6W8LqRqzGvOHoFq7UDorvaZe X-Gm-Gg: AZuq6aJnwso+RLqzMN5BR8kjscPoiF+fD/Bleoxro7Xs43sOaSEjsLQEbLwLlHkT3ta OAIZnKEMs2vVcnk6idwynajFzVJ/uvqlogIFolyX5KrT4OPJBAHAh4S8Bc/s88h0JzkcZLtkGNN oRO1JExOWoiRx/MO6dI3JNjW38jbqYU3kjXWXJFS38yNgdxEhONcme8cTEVhgEB3MsQvpPIMGHk 3pUMJceCT3tfhx0xYsCW9566jN1gkZiLGgq+e80+5+TYmzbcl9ZWcQ5MIA/iCpbjrUczIH7PTbr 44KDYXG/h8MXHzYVCrpF+Jt1O4Z2Xiv54nxjBOeE+8mkF32WldIkB3NvDiG3Gv4XtIHRa9K2AZs P0bMR8sIbVs+cBN5A+03TeukdNK1ttjJ6c9qAwGct0uIXJ1l9VbWTt4afyEgDtofwYT7UsUehRl JOdmmROaGWCfSZNt/sa1Tr1HtZ2Y57Jv63obQ+xyESvl38ZY9Y3we7xu8fM+yf0ErUQa41VzwUZ vo= X-Received: by 2002:a05:600c:4f0e:b0:477:7bca:8b2b with SMTP id 5b1f17b1804b1-48373a1029emr222968175e9.15.1771282334923; Mon, 16 Feb 2026 14:52:14 -0800 (PST) Received: from pumpkin (82-69-66-36.dsl.in-addr.zen.co.uk. [82.69.66.36]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-48370a78c89sm292239335e9.5.2026.02.16.14.52.14 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 16 Feb 2026 14:52:14 -0800 (PST) Date: Mon, 16 Feb 2026 22:52:13 +0000 From: David Laight To: Thomas =?UTF-8?B?V2Vpw59zY2h1aA==?= Cc: Willy Tarreau , linux-kernel@vger.kernel.org, Cheng Li Subject: Re: [PATCH v2 next 07/11] tools/nolibc/printf: Add support for conversion flags "#- +" and format "%X" Message-ID: <20260216225213.3ad68b07@pumpkin> In-Reply-To: References: <20260206191121.3602-1-david.laight.linux@gmail.com> <20260206191121.3602-8-david.laight.linux@gmail.com> X-Mailer: Claws Mail 4.1.1 (GTK 3.24.38; arm-unknown-linux-gnueabihf) Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: quoted-printable On Mon, 16 Feb 2026 21:11:18 +0100 Thomas Wei=C3=9Fschuh wrote: > On 2026-02-06 19:11:17+0000, david.laight.linux@gmail.com wrote: > > From: David Laight > >=20 > > Add support for all the normal flag chacacters except '0' (zero pad). > > '-' left alignment. > > '+' and ' ' Sign characters for non-negative numbers. > > '#' adds 0x to hex numbers. > > Partially support "%X", outputs lower case a..f the same as "%x". > >=20 > > Move the "%s" code in with the numeric formats to save a va_arg() call. > >=20 > > Prepend the sign (or "0x") after conversion to ascii and use the length > > returned by u64toh_r() and u64toa_r(). > > Both needed for precision and zero-padding in the next patch. > >=20 > > Signed-off-by: David Laight > > --- > >=20 > > Changes for v2: > > - Add support for left justifying fields (removed from patch 6). > > - Merge in the changes from the old patch 8. > > - Add support for "%#x" (formally part of patch 9). > >=20 > > tools/include/nolibc/stdio.h | 97 ++++++++++++++++++++++++++---------- > > 1 file changed, 71 insertions(+), 26 deletions(-) =20 >=20 > (...) >=20 > > @@ -365,40 +384,62 @@ int __nolibc_printf(__nolibc_printf_cb cb, void *= state, const char *fmt, va_list > > goto do_output; > > } > > =20 > > + if (_NOLIBC_PF_FLAGS_CONTAIN(ch_flag, 's')) { > > + /* "%s" - character string. */ > > + if (!v) { > > + outstr =3D "(null)"; > > + len =3D 6; > > + goto do_output; > > + } > > + outstr =3D (void *)v; =20 >=20 > When building for i386: >=20 > In file included from ./nolibc.h:123, > from ./ctype.h:8, > from : > ./stdio.h: In function '__nolibc_printf': > ./stdio.h:445:50: error: cast to pointer from integer of different size [= -Werror=3Dint-to-pointer-cast] > 445 | outstr =3D (void *)v; > | >=20 > Needs a cast through (uintptr_t). Also instead of casting through > (void *), please specify the actual target type that is expected. Ok. >=20 > > +do_strnlen_output: > > + len =3D strnlen(outstr, INT_MAX); > > + goto do_output; > > + } =20 >=20 > (...)