Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S264476AbTGBUUN (ORCPT ); Wed, 2 Jul 2003 16:20:13 -0400 Received: (majordomo@vger.kernel.org) by vger.kernel.org id S264472AbTGBUUN (ORCPT ); Wed, 2 Jul 2003 16:20:13 -0400 Received: from buerotecgmbh.de ([217.160.181.99]:59535 "EHLO buerotecgmbh.de") by vger.kernel.org with ESMTP id S264478AbTGBUUJ (ORCPT ); Wed, 2 Jul 2003 16:20:09 -0400 Date: Wed, 2 Jul 2003 22:34:33 +0200 From: Kay Sievers To: linux-kernel@vger.kernel.org Subject: why does sscanf() does not interpret number length attributes? Message-ID: <20030702203433.GA14854@vrfy.org> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline User-Agent: Mutt/1.5.4i Sender: linux-kernel-owner@vger.kernel.org X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 785 Lines: 26 I needed a conversion from hex-string to integer and found this mail from Linus suggesting sscanf: http://marc.theaimsgroup.com/?l=linux-kernel&m=101414195507893&w=2 but sscanf in linux-2.5/lib/vsprintf.c interpretes length attributes only when the type is a string. It uses simple_strtoul() and it will read the buffer until it finds a non-(hex)digit. int i; char str[] ="34AFFE45XYZ"; sscanf(str, "%1x", &i); i will be '0x34AFFE45' instead of the expected '3'. Is this behaviour intended or is just nobody caring about? thanks Kay - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/