Rev 61 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed
Rev 61 | Rev 63 | ||
---|---|---|---|
Line 42... | Line 42... | ||
42 | * \x00 character is reached. |
42 | * \x00 character is reached. |
43 | * |
43 | * |
44 | * @param str Characters to print. |
44 | * @param str Characters to print. |
45 | * |
45 | * |
46 | */ |
46 | */ |
47 | void print_str(char *str) |
47 | void print_str(const char *str) |
48 | { |
48 | { |
49 | int i = 0; |
49 | int i = 0; |
50 | char c; |
50 | char c; |
51 | 51 | ||
52 | while (c = str[i++]) |
52 | while (c = str[i++]) |
Line 63... | Line 63... | ||
63 | * |
63 | * |
64 | * @param num Number containing digits. |
64 | * @param num Number containing digits. |
65 | * @param width Count of digits to print. |
65 | * @param width Count of digits to print. |
66 | * |
66 | * |
67 | */ |
67 | */ |
68 | void print_fixed_hex(__native num, int width) |
68 | void print_fixed_hex(const __native num, const int width) |
69 | { |
69 | { |
70 | int i; |
70 | int i; |
71 | 71 | ||
72 | for (i = width*8 - 4; i >= 0; i -= 4) |
72 | for (i = width*8 - 4; i >= 0; i -= 4) |
73 | putchar(digits[(num>>i) & 0xf]); |
73 | putchar(digits[(num>>i) & 0xf]); |
Line 82... | Line 82... | ||
82 | * @param num Number to print. |
82 | * @param num Number to print. |
83 | * @param base Base to print the number in (should |
83 | * @param base Base to print the number in (should |
84 | * be in range 2 .. 16). |
84 | * be in range 2 .. 16). |
85 | * |
85 | * |
86 | */ |
86 | */ |
87 | void print_number(__native num, int base) |
87 | void print_number(const __native num, const int base) |
88 | { |
88 | { |
- | 89 | int val = num; |
|
89 | char d[sizeof(__native)*8+1]; /* this is good enough even for base == 2 */ |
90 | char d[sizeof(__native)*8+1]; /* this is good enough even for base == 2 */ |
90 | int i = sizeof(__native)*8-1; |
91 | int i = sizeof(__native)*8-1; |
91 | 92 | ||
92 | do { |
93 | do { |
93 | d[i--] = digits[num % base]; |
94 | d[i--] = digits[val % base]; |
94 | } while (num /= base); |
95 | } while (val /= base); |
95 | 96 | ||
96 | d[sizeof(__native)*8] = 0; |
97 | d[sizeof(__native)*8] = 0; |
97 | print_str(&d[i + 1]); |
98 | print_str(&d[i + 1]); |
98 | } |
99 | } |
99 | 100 | ||
Line 130... | Line 131... | ||
130 | * are printed in verbatim. |
131 | * are printed in verbatim. |
131 | * |
132 | * |
132 | * @param fmt Formatting NULL terminated string. |
133 | * @param fmt Formatting NULL terminated string. |
133 | * |
134 | * |
134 | */ |
135 | */ |
135 | void printf(char *fmt, ...) |
136 | void printf(const char *fmt, ...) |
136 | { |
137 | { |
137 | int irqpri, i = 0; |
138 | int irqpri, i = 0; |
138 | va_list ap; |
139 | va_list ap; |
139 | char c; |
140 | char c; |
140 | 141 |