143 |
} |
} |
144 |
|
|
145 |
void |
void |
146 |
|
grub_putstr (const char *str) |
147 |
|
{ |
148 |
|
while (*str) |
149 |
|
grub_putchar (*str++); |
150 |
|
} |
151 |
|
|
152 |
|
void |
153 |
grub_printf (const char *format,...) |
grub_printf (const char *format,...) |
154 |
{ |
{ |
155 |
int *dataptr = (int *) &format; |
int *dataptr = (int *) &format; |
156 |
char c, *ptr, str[16]; |
char c, str[16]; |
157 |
unsigned long mask = 0xFFFFFFFF; |
unsigned long mask = 0xFFFFFFFF; |
158 |
|
|
159 |
dataptr++; |
dataptr++; |
176 |
case 'u': |
case 'u': |
177 |
*convert_to_ascii (str, c, *((unsigned long *) dataptr++) & mask) |
*convert_to_ascii (str, c, *((unsigned long *) dataptr++) & mask) |
178 |
= 0; |
= 0; |
179 |
|
grub_putstr (str); |
|
ptr = str; |
|
|
|
|
|
while (*ptr) |
|
|
grub_putchar (*(ptr++)); |
|
180 |
break; |
break; |
181 |
|
|
182 |
#ifndef STAGE1_5 |
#ifndef STAGE1_5 |
185 |
break; |
break; |
186 |
|
|
187 |
case 's': |
case 's': |
188 |
ptr = (char *) (*(dataptr++)); |
grub_putstr ((char *) *(dataptr++)); |
|
|
|
|
while ((c = *(ptr++)) != 0) |
|
|
grub_putchar (c); |
|
189 |
break; |
break; |
190 |
#endif |
#endif |
191 |
} |
} |
1087 |
#endif /* ! STAGE1_5 */ |
#endif /* ! STAGE1_5 */ |
1088 |
|
|
1089 |
int |
int |
1090 |
substring (char *s1, char *s2) |
substring (const char *s1, const char *s2) |
1091 |
{ |
{ |
1092 |
while (*s1 == *s2) |
while (*s1 == *s2) |
1093 |
{ |
{ |