forked from len0rd/rockbox
TABs removed
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@5645 a1c6a512-1295-4272-9138-f99709370657
This commit is contained in:
parent
1f11f4eb90
commit
81d4b8c492
1 changed files with 91 additions and 91 deletions
|
@ -52,106 +52,106 @@ static int format(
|
||||||
|
|
||||||
while ((ch = *fmt++) != '\0' && ok)
|
while ((ch = *fmt++) != '\0' && ok)
|
||||||
{
|
{
|
||||||
if (ch == '%')
|
if (ch == '%')
|
||||||
{
|
{
|
||||||
ch = *fmt++;
|
ch = *fmt++;
|
||||||
pad = ' ';
|
pad = ' ';
|
||||||
if (ch == '0')
|
if (ch == '0')
|
||||||
pad = '0';
|
pad = '0';
|
||||||
|
|
||||||
width = 0;
|
width = 0;
|
||||||
while (ch >= '0' && ch <= '9')
|
while (ch >= '0' && ch <= '9')
|
||||||
{
|
{
|
||||||
width = 10*width + ch - '0';
|
width = 10*width + ch - '0';
|
||||||
ch = *fmt++;
|
ch = *fmt++;
|
||||||
}
|
}
|
||||||
|
|
||||||
str = tmpbuf + sizeof tmpbuf - 1;
|
str = tmpbuf + sizeof tmpbuf - 1;
|
||||||
switch (ch)
|
switch (ch)
|
||||||
{
|
{
|
||||||
case 'c':
|
case 'c':
|
||||||
*--str = va_arg (ap, int);
|
*--str = va_arg (ap, int);
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case 's':
|
case 's':
|
||||||
str = va_arg (ap, char*);
|
str = va_arg (ap, char*);
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case 'd':
|
case 'd':
|
||||||
val = sign = va_arg (ap, int);
|
val = sign = va_arg (ap, int);
|
||||||
if (val < 0)
|
if (val < 0)
|
||||||
val = -val;
|
val = -val;
|
||||||
do
|
do
|
||||||
{
|
{
|
||||||
*--str = (val % 10) + '0';
|
*--str = (val % 10) + '0';
|
||||||
val /= 10;
|
val /= 10;
|
||||||
}
|
}
|
||||||
while (val > 0);
|
while (val > 0);
|
||||||
if (sign < 0)
|
if (sign < 0)
|
||||||
*--str = '-';
|
*--str = '-';
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case 'x':
|
case 'x':
|
||||||
case 'X':
|
case 'X':
|
||||||
uval = va_arg (ap, int);
|
uval = va_arg (ap, int);
|
||||||
do
|
do
|
||||||
{
|
{
|
||||||
*--str = hexdigit[uval & 0xf];
|
*--str = hexdigit[uval & 0xf];
|
||||||
uval >>= 4;
|
uval >>= 4;
|
||||||
}
|
}
|
||||||
while (uval);
|
while (uval);
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case 'l':
|
case 'l':
|
||||||
ch = *fmt++;
|
ch = *fmt++;
|
||||||
switch(ch) {
|
switch(ch) {
|
||||||
case 'x':
|
case 'x':
|
||||||
case 'X':
|
case 'X':
|
||||||
ulval = va_arg (ap, long);
|
ulval = va_arg (ap, long);
|
||||||
do
|
do
|
||||||
{
|
{
|
||||||
*--str = hexdigit[ulval & 0xf];
|
*--str = hexdigit[ulval & 0xf];
|
||||||
ulval >>= 4;
|
ulval >>= 4;
|
||||||
}
|
|
||||||
while (ulval);
|
|
||||||
break;
|
|
||||||
case 'd':
|
|
||||||
lval = sign = va_arg (ap, long);
|
|
||||||
if (lval < 0)
|
|
||||||
lval = -lval;
|
|
||||||
do
|
|
||||||
{
|
|
||||||
*--str = (lval % 10) + '0';
|
|
||||||
lval /= 10;
|
|
||||||
}
|
|
||||||
while (lval > 0);
|
|
||||||
if (sign < 0)
|
|
||||||
*--str = '-';
|
|
||||||
break;
|
|
||||||
|
|
||||||
default:
|
|
||||||
*--str = 'l';
|
|
||||||
*--str = ch;
|
|
||||||
}
|
}
|
||||||
|
while (ulval);
|
||||||
|
break;
|
||||||
|
case 'd':
|
||||||
|
lval = sign = va_arg (ap, long);
|
||||||
|
if (lval < 0)
|
||||||
|
lval = -lval;
|
||||||
|
do
|
||||||
|
{
|
||||||
|
*--str = (lval % 10) + '0';
|
||||||
|
lval /= 10;
|
||||||
|
}
|
||||||
|
while (lval > 0);
|
||||||
|
if (sign < 0)
|
||||||
|
*--str = '-';
|
||||||
break;
|
break;
|
||||||
|
|
||||||
default:
|
|
||||||
*--str = ch;
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (width > 0)
|
default:
|
||||||
{
|
*--str = 'l';
|
||||||
width -= strlen (str);
|
*--str = ch;
|
||||||
while (width-- > 0 && ok)
|
}
|
||||||
ok=push(userp, pad);
|
|
||||||
}
|
break;
|
||||||
while (*str != '\0' && ok)
|
|
||||||
|
default:
|
||||||
|
*--str = ch;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (width > 0)
|
||||||
|
{
|
||||||
|
width -= strlen (str);
|
||||||
|
while (width-- > 0 && ok)
|
||||||
|
ok=push(userp, pad);
|
||||||
|
}
|
||||||
|
while (*str != '\0' && ok)
|
||||||
ok=push(userp, *str++);
|
ok=push(userp, *str++);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
ok=push(userp, ch);
|
ok=push(userp, ch);
|
||||||
}
|
}
|
||||||
return ok; /* true means good */
|
return ok; /* true means good */
|
||||||
}
|
}
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue