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 X-Spam-Level: X-Spam-Status: No, score=-15.2 required=3.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_CR_TRAILER,INCLUDES_PATCH, MAILING_LIST_MULTI,MSGID_FROM_MTA_HEADER,NICE_REPLY_A,SPF_HELO_NONE,SPF_PASS, URIBL_BLOCKED,USER_AGENT_SANE_1 autolearn=ham autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 6BE1EC2B9F4 for ; Tue, 22 Jun 2021 19:30:58 +0000 (UTC) Received: from phobos.denx.de (phobos.denx.de [85.214.62.61]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPS id 15BAA608FE for ; Tue, 22 Jun 2021 19:30:57 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 15BAA608FE Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=seco.com Authentication-Results: mail.kernel.org; spf=pass smtp.mailfrom=u-boot-bounces@lists.denx.de Received: from h2850616.stratoserver.net (localhost [IPv6:::1]) by phobos.denx.de (Postfix) with ESMTP id 588CE829BA; Tue, 22 Jun 2021 21:30:54 +0200 (CEST) Authentication-Results: phobos.denx.de; dmarc=fail (p=none dis=none) header.from=seco.com Authentication-Results: phobos.denx.de; spf=pass smtp.mailfrom=u-boot-bounces@lists.denx.de Authentication-Results: phobos.denx.de; dkim=pass (1024-bit key; unprotected) header.d=secospa.onmicrosoft.com header.i=@secospa.onmicrosoft.com header.b="ZKoL7zxD"; dkim-atps=neutral Received: by phobos.denx.de (Postfix, from userid 109) id BC150829BC; Tue, 22 Jun 2021 21:30:51 +0200 (CEST) Received: from EUR03-VE1-obe.outbound.protection.outlook.com (mail-ve1eur03on061e.outbound.protection.outlook.com [IPv6:2a01:111:f400:fe09::61e]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by phobos.denx.de (Postfix) with ESMTPS id B9F4180050 for ; Tue, 22 Jun 2021 21:30:48 +0200 (CEST) Authentication-Results: phobos.denx.de; dmarc=pass (p=none dis=none) header.from=seco.com Authentication-Results: phobos.denx.de; spf=pass smtp.mailfrom=sean.anderson@seco.com ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=XqVGj0ccENrzpeRisTI/kkFg7hLHBDW9UohVepeZ/ZZrEBg4fWrHO5+ywyEwXS2wDZoILAUZ9AMX2+zDlhBij8Kc1zyhrB3/SkCSYl4m7pssv07CyE1FQ8dYIFdk/I4F6aesO0Ti1JZvEjL61kzQDDSLT3mKhxwG27s7jINyVirSJB6lSyYnJ6ciwVWgKQeTZRMz32Za8a8ruIv4w2YxL69ErsToY6L1BDOQFsOrk+UAEshGgs+Juwvn7RcAg9b9bJ4+8LpCYkFozA923uJfLs1iqvO/mZ/A4Pgbwy/6eXyaWg8n3IJxb3PmpeS9ZOO10pnBhuGOA4zmJ0jZtsYrxA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=dhHgkkDksCBZmgyET4FMIpeFx++9IAF1KV5WXTYjnZQ=; b=GggZmVMVXOP3668JYeA3uqCTtvRiOSJ0oOsASzjE/r7h2CrUYWgHa2P5XHrC31Rndiim4bi4OxwqpRXOgEhDL8xvum1BucYXHrfCm5AKnRrbI5WlGsVDyxdGatwJUSJQtFURirsiLegbr+6pWKMVgeorG2TDRIrko13y1e/Ay7ZKvZokScu6zFSStc24/FQZaD3fcpal+boBYc+ohyryP25cQpL/hm+dEssqHRA1PeKRVIpc4jupGqwGZHd/oUAIGde4M99uqtuLHjYXTngyMjami0gBXxQw8FhFvmov1tTvDb29p35ssf39ZcpxfKtpR16COX3Rt8W149gFxM0zmg== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=seco.com; dmarc=pass action=none header.from=seco.com; dkim=pass header.d=seco.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=secospa.onmicrosoft.com; s=selector2-secospa-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=dhHgkkDksCBZmgyET4FMIpeFx++9IAF1KV5WXTYjnZQ=; b=ZKoL7zxDRwQKJ7GBj526ZyiyB7DBcnN/dNEY9brCmSWYZ+0VJ8SO4/pYsyZVPOHZPkL+j524MxFiFXM2d1l10j3BbRDlCNta3WGeq1f/LV49iMuT8/Gzb9oKAImkrsYN0KNGQdBwAKqtvDrhwpzMCAI8JxHCbTUV8Y8Li6phm3o= Authentication-Results: nic.cz; dkim=none (message not signed) header.d=none;nic.cz; dmarc=none action=none header.from=seco.com; Received: from DB7PR03MB4523.eurprd03.prod.outlook.com (2603:10a6:10:19::27) by DB6PR0301MB2182.eurprd03.prod.outlook.com (2603:10a6:4:49::23) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4242.19; Tue, 22 Jun 2021 19:30:46 +0000 Received: from DB7PR03MB4523.eurprd03.prod.outlook.com ([fe80::40d5:3554:c709:6b1b]) by DB7PR03MB4523.eurprd03.prod.outlook.com ([fe80::40d5:3554:c709:6b1b%5]) with mapi id 15.20.4242.023; Tue, 22 Jun 2021 19:30:46 +0000 Subject: Re: [PATCH v1 1/1] cmd: setexpr: add dec operation for converting variable to decimal To: Simon Glass , roland.gaudig-oss@weidmueller.com Cc: U-Boot Mailing List , Roland Gaudig , =?UTF-8?Q?Marek_Beh=c3=ban?= References: <20210622135042.133904-1-roland.gaudig-oss@weidmueller.com> <20210622135042.133904-2-roland.gaudig-oss@weidmueller.com> From: Sean Anderson Message-ID: <573f7c82-985c-cf55-ac75-b55dc408e3e4@seco.com> Date: Tue, 22 Jun 2021 15:30:43 -0400 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:68.0) Gecko/20100101 Thunderbird/68.10.0 In-Reply-To: Content-Type: text/plain; charset=utf-8; format=flowed Content-Language: en-US Content-Transfer-Encoding: 7bit X-Originating-IP: [50.195.82.171] X-ClientProxiedBy: BL0PR0102CA0008.prod.exchangelabs.com (2603:10b6:207:18::21) To DB7PR03MB4523.eurprd03.prod.outlook.com (2603:10a6:10:19::27) MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 Received: from [172.27.1.65] (50.195.82.171) by BL0PR0102CA0008.prod.exchangelabs.com (2603:10b6:207:18::21) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4264.18 via Frontend Transport; Tue, 22 Jun 2021 19:30:45 +0000 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: c7284441-21ef-49d1-a629-08d935b43beb X-MS-TrafficTypeDiagnostic: DB6PR0301MB2182: X-Microsoft-Antispam-PRVS: X-MS-Oob-TLC-OOBClassifiers: OLM:4941; X-MS-Exchange-SenderADCheck: 1 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: izKZk3eTYG4pykso+6eIqpQU9xV7l3/kmrfIwxJGZ9MidQKQQkKivStLPzel18IoGX4dssj7A9BDtJBRPGMwgE7JBT4EPjIjdoAI7ldKaWKNZ+3MgNXeFfcI5EmHf0eDok3W1u76k+daEXVLQ9/Mb9qIpVH+XZgcw+S/p+12CL4jAhiRLLSqwEG2RxoOuQUmO+g/ICty0R4Gewg0i3K3oWVYuwB3yUcU7l8E90D6vNFiob9l3adROmfk9kAX/PdlGfF1TqXNIkTlfThQy9+iwpciubIEZGInf0txQwekeIhyUSzCh+bPJVzrsNV9XTSj31EEovGE/8NFBUrFJ3xsJO5KRz6YXGTZpYEubmtDVv9hkzlL8QLMAX/Ucw3bq+fuSGUgVfYC/XtrccbDIW3cEuzxjKWQqapj0PzM5qr1i4jXCHfM3X8GX9GNQiOOJzHq3fvla1E3ToymgK112pz2S/TMJ0OSlc6euAHt/Mnb4MA75h6t4FU8rAPeFsLhthC50qHtYajm4m+hQCiZPQ7OY7rfLQv1pUqGErNbD3fAlM2HQs5fUIJSl5Q85AdpaX0noPGsfdMtb3wYarWkSNx69Ivm4+Fl0Nuz4cfuXnBmxLBs34F9NdbvlgoCqCJnDul1M0F2SDaM2SU/FwoxmGI7eDAk+8RAVjiTjtQRHkiOmicUQVzAWR5yeShCzD6TX1fT X-Forefront-Antispam-Report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:DB7PR03MB4523.eurprd03.prod.outlook.com; PTR:; CAT:NONE; SFS:(396003)(39830400003)(366004)(346002)(136003)(376002)(38350700002)(38100700002)(83380400001)(31696002)(53546011)(186003)(26005)(16526019)(956004)(2616005)(66556008)(66946007)(44832011)(16576012)(54906003)(4326008)(8936002)(86362001)(8676002)(66476007)(2906002)(316002)(52116002)(5660300002)(36756003)(31686004)(478600001)(6486002)(43740500002); DIR:OUT; SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?cFNVeWtWdTRzS1NyVitzNFFvRkpOVGhKUEkxRUIxZituNjZEaHRKRGVFOVRj?= =?utf-8?B?Z2l6a2N2ZFB6cXVLZzZ0Tm1Yc0c0VlBZRmVwSFpQYnE1QW94eGlrS0hkTmE0?= =?utf-8?B?U09BcjJRYUkzM1dXbTZ5aDZ0QXgvM1hMcnZlNVRiUDZ6MlR4YS92ejNjZ25T?= =?utf-8?B?MUdwdHFmM2FNN2Mrb05sQzcvQyswb0VEK1lXenNMbGxUWjJLNlBXb2NjenZv?= =?utf-8?B?MDNqY3ZteUlQZzgzV205dU4rblR1Z1RrWi8zWjJEZytiQVBxVk56V1NBQW1S?= =?utf-8?B?RVRnRyswbmxqSitSVTJDRUlGNWxhSG5neVNQaWt4WFlPOGJOTk56Nks4MXVM?= =?utf-8?B?cHByUEVOUzJPUnQ5cllBYVpMV2VzU2k0VVNYTVh4aWVjWExCV1d6TS9uSTZ4?= =?utf-8?B?ZXArL2JhUmFhajR6djhrZHZPYjhSazBtNnkxYmdBZGZXamgzYi8wZW9RMEtj?= =?utf-8?B?UjNtRXN4Zlkwem01T214c2tqWUxXWkhDVG95ZlJDWnRuSFRLNFE4TEVlTG44?= =?utf-8?B?ODE0QmhFU2xBVHIreG4zelBDNHpqYzhjUmhRREpqWklYMkhybkorWlVJNE9z?= =?utf-8?B?bDBpNWdaL3U1cU1RZjgzSXc5QnhORFJlZXdkV0U4MFFUZFFNcEt4WXJNMXEx?= =?utf-8?B?M1VWdnd6NXM5dGN0Y0IrSldlMVBvcUluRXBBVjczeVVGb3VoZldJTGtBK0ZR?= =?utf-8?B?OHpwcjVqR0Fncmt0aWxnRDdyTkNnd0hMRC9ndkh3S2hTMGFYclY2OHFQWmdk?= =?utf-8?B?Y0xRQ3NWZitqZmxYaE1CT2J1STNsdHVZQldwbDRPWTd5VmswbzlkcVFMR0dV?= =?utf-8?B?RXliMllYYjFHSWszZksyYnZDRVoyV0xCZTQ2cFRTTFBocWlJRjZKejQ3RWR2?= =?utf-8?B?SHEzV3RnMm5FWTVHR2hOMHY3WENLOEVzcVVPOEdMZXFEKzk3cURZVDBpRGhm?= =?utf-8?B?QUEvZW43dnd6bUxGdGJ5MG1uUi80OTRXQ1NKam1vNnRuRFYrR0V4ZzAwN2V3?= =?utf-8?B?RVl2YWFYNHRkTjdLTlhHZU0yaWVFQVkxZkcrTVA2emlwVGpWK3lZbXJpYjZF?= =?utf-8?B?WkFjZVFNOVQzd3lKNDRlWU1QaFFQMVRyTVhlOWFEUFdFb3hGaE9CUDhDUTNB?= =?utf-8?B?ekZWSU9DcW55Tm1PaDkxMnQ1NnVOaXFsNzgyeUg3MmpKcEZVcUNReUhDMktG?= =?utf-8?B?aStzellUTDFuZDN3SENGQkxxY2thTnJGKzNUTlp6bEd4b2pQclpjc3F2WW5w?= =?utf-8?B?Rmp2UkVDeU1XcHNLWCtsRXAzVmFjSkJWbGhzbGI0dUtjYWZSRGJodXAvNU9C?= =?utf-8?B?dDNiU0J5VkxPcERKK3ZxSDBxZVp1TGgyL2hZOURONE9DRFRyc1NLMXJDVFpC?= =?utf-8?B?aFZEckRmUFhtT0hDWW5wU3B5VHdxNkpSb0NUTE9EL3RZeEFvOWxkUERpd2No?= =?utf-8?B?WlFESGJUbFppemdPYkR4VW5RSkxiTy9UZDBnTlFwYmZlanhvT2JiZWRBYWpl?= =?utf-8?B?UU9DbzBWbkI0c2RDK2tKSXRMbWsvZUYwL0huRnZseTBlVERaWkM5cm91ZUli?= =?utf-8?B?NDk2aGs2SkhDS3RsQm9wSWJXSFBFMGxjNTk5aGhWSVM1UWE4cnpXUElkY091?= =?utf-8?B?M3lCQ1RVcXNhSlozUHgrVlRBMytyNGNsTlhob1FYODhYVko2RHBhWjJsM1do?= =?utf-8?B?R090TzUyWHllZ3NQS01LT1A2cEJ5L2FFR3B6aEV5aVpoN0lrWGMzY29qUlhQ?= =?utf-8?Q?nvA4Nx6xGAsRSW3kr+qLtkKG2eEx8jlk1aFzhef?= X-OriginatorOrg: seco.com X-MS-Exchange-CrossTenant-Network-Message-Id: c7284441-21ef-49d1-a629-08d935b43beb X-MS-Exchange-CrossTenant-AuthSource: DB7PR03MB4523.eurprd03.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 22 Jun 2021 19:30:46.7059 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: bebe97c3-6438-442e-ade3-ff17aa50e733 X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: AGh7JpKkOLwThBkCjBAIqctIfSLPe1Ij3ZckLX+KMh3DGFGJUeJ24WFvyDaBwJQ3dtRPeb3bqHfkxlxULO7WsQ== X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB6PR0301MB2182 X-BeenThere: u-boot@lists.denx.de X-Mailman-Version: 2.1.34 Precedence: list List-Id: U-Boot discussion List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: u-boot-bounces@lists.denx.de Sender: "U-Boot" X-Virus-Scanned: clamav-milter 0.103.2 at phobos.denx.de X-Virus-Status: Clean On 6/22/21 3:25 PM, Simon Glass wrote: > Hi Roland, > > On Tue, 22 Jun 2021 at 07:51, wrote: >> >> From: Roland Gaudig >> >> This patch extends the setexpr command with a dec operator to >> convert an input value to decimal. >> >> Signed-off-by: Roland Gaudig >> --- >> >> cmd/setexpr.c | 16 ++++++++++++++-- >> 1 file changed, 14 insertions(+), 2 deletions(-) >> >> diff --git a/cmd/setexpr.c b/cmd/setexpr.c >> index e828be3970..2d4bee2182 100644 >> --- a/cmd/setexpr.c >> +++ b/cmd/setexpr.c >> @@ -370,15 +370,16 @@ static int do_setexpr(struct cmd_tbl *cmdtp, int flag, int argc, >> int w; >> >> /* >> - * We take 3, 5, or 6 arguments: >> + * We take 3, 4, 5, or 6 arguments: >> * 3 : setexpr name value >> + * 4 : setexpr name dec value >> * 5 : setexpr name val1 op val2 >> * setexpr name [g]sub r s >> * 6 : setexpr name [g]sub r s t >> */ >> >> /* > 6 already tested by max command args */ >> - if ((argc < 3) || (argc == 4)) >> + if (argc < 3) >> return CMD_RET_USAGE; >> >> w = cmd_get_data_size(argv[0], 4); >> @@ -398,6 +399,13 @@ static int do_setexpr(struct cmd_tbl *cmdtp, int flag, int argc, >> return ret; >> } >> >> + /* hexadecimal to decimal conversion: "setexpr name dec value" */ >> + if (argc == 4 && (strcmp(argv[2], "dec") == 0)) { >> + w = cmd_get_data_size(argv[3], 4); >> + a = get_arg(argv[3], w); >> + return env_set_ulong(argv[1], a); >> + } >> + >> /* 5 or 6 args (6 args only with [g]sub) */ >> #ifdef CONFIG_REGEX >> /* >> @@ -515,4 +523,8 @@ U_BOOT_CMD( >> "setexpr name sub r s [t]\n" >> " - Just like gsub(), but replace only the first matching substring" >> #endif >> + "\n" >> + "setexpr name dec [*]value\n" >> + " - set environment variable 'name' to the result of the decimal\n" >> + " conversion of [*]value.\n" >> ); >> -- >> 2.25.1 >> > > This seems reasonable to me. > > I have been thinking of introducing a prefix for decimal, perhaps > 0m123 ? ('m' for deciMal). Perhaps 0d123? Though I would prefer to remove many of the implicit assumptions of hex input. --Sean > > Can you please add a test for this in test//cmd/setexpr.c and also, > how about adding something in doc/usage? > > Regards, > Simon >