📄 uboot-strtoul.patch
字号:
Make simple_strtoul work with upper-case hex numbers.Signed-off-by: Harald Welte <laforge@openmoko.org>Index: u-boot/lib_generic/vsprintf.c===================================================================--- u-boot.orig/lib_generic/vsprintf.c+++ u-boot/lib_generic/vsprintf.c@@ -25,21 +25,22 @@ unsigned long simple_strtoul(const char { unsigned long result = 0,value; - if (*cp == '0') {- cp++;- if ((*cp == 'x') && isxdigit(cp[1])) {- base = 16;- cp++;- }- if (!base) {- base = 8;- }- } if (!base) { base = 10;+ if (*cp == '0') {+ base = 8;+ cp++;+ if ((toupper(*cp) == 'X') && isxdigit(cp[1])) {+ cp++;+ base = 16;+ }+ }+ } else if (base == 16) {+ if (cp[0] == '0' && toupper(cp[1]) == 'X')+ cp += 2; }- while (isxdigit(*cp) && (value = isdigit(*cp) ? *cp-'0' : (islower(*cp)- ? toupper(*cp) : *cp)-'A'+10) < base) {+ while (isxdigit(*cp) &&+ (value = isdigit(*cp) ? *cp-'0' : toupper(*cp)-'A'+10) < base) { result = result*base + value; cp++; }
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -