diff options
Diffstat (limited to 'firmware/common/sprintf.c')
-rw-r--r-- | firmware/common/sprintf.c | 20 |
1 files changed, 20 insertions, 0 deletions
diff --git a/firmware/common/sprintf.c b/firmware/common/sprintf.c index 6f9d7bc248..282b62b2a6 100644 --- a/firmware/common/sprintf.c +++ b/firmware/common/sprintf.c | |||
@@ -105,6 +105,16 @@ static int format( | |||
105 | *--str = '-'; | 105 | *--str = '-'; |
106 | break; | 106 | break; |
107 | 107 | ||
108 | case 'u': | ||
109 | val = va_arg(ap, unsigned int); | ||
110 | do | ||
111 | { | ||
112 | *--str = (val % 10) + '0'; | ||
113 | val /= 10; | ||
114 | } | ||
115 | while (val > 0); | ||
116 | break; | ||
117 | |||
108 | case 'x': | 118 | case 'x': |
109 | case 'X': | 119 | case 'X': |
110 | uval = va_arg (ap, int); | 120 | uval = va_arg (ap, int); |
@@ -143,6 +153,16 @@ static int format( | |||
143 | *--str = '-'; | 153 | *--str = '-'; |
144 | break; | 154 | break; |
145 | 155 | ||
156 | case 'u': | ||
157 | lval = va_arg(ap, unsigned long); | ||
158 | do | ||
159 | { | ||
160 | *--str = (lval % 10) + '0'; | ||
161 | lval /= 10; | ||
162 | } | ||
163 | while (lval > 0); | ||
164 | break; | ||
165 | |||
146 | default: | 166 | default: |
147 | *--str = 'l'; | 167 | *--str = 'l'; |
148 | *--str = ch; | 168 | *--str = ch; |