Dear Roland, In message <20210628151750.572837-1-roland.gaudig-...@weidmueller.com> you wrote: > > > U-Boot uses almost everywhere hexadecimal numbers. But some bootargs > passed to Linux are expecting decimal numbers. As long as the values > are in the range 0 to 9 it is sufficient to just strip 0x from the > number. But for greater values a method for converting numbers to > decimal is needed. > > This patch adds C like format string capabilities to the setexpr > command. Here are some examples:
Thanks! > In contrast to the original C format strings the number of parameters > is limited to one. As the get_arg() function returns unsigned long > type, the format string commands are limited to those which are > operating on unsigned long type. These are two pretty unfortunate restrictions. I guess it should not be too hard to avoid both of these. Can you please give it a try? I think it is reasonable to assume (and specify) that, when the "fmt" option is used, _all_ following arguments will be passed (unchanged) to the sprintf() function. This was actually one of my intentions when making this suggestion - to be able to construct any kind of data from pieces; say, for example: => setexpr foo fmt "%0x08x-%s-%d-%s" $a $b $c $d Best regards, Wolfgang Denk -- DENX Software Engineering GmbH, Managing Director: Wolfgang Denk HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany Phone: (+49)-8142-66989-10 Fax: (+49)-8142-66989-80 Email: w...@denx.de Never ascribe to malice that which can adequately be explained by stupidity.