Changeset 1e27d85 in mainline for boot/generic/src/printf_core.c


Ignore:
Timestamp:
2010-11-26T01:03:29Z (14 years ago)
Author:
Martin Decky <martin@…>
Branches:
lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
Children:
d16fc78
Parents:
96b89acb
Message:
  • reimplement the 'z' modifier (%zu for size_t, %zd for ssize_t)
  • make sure %lc actually takes wint_t argument (compliance with C99)
File:
1 edited

Legend:

Unmodified
Added
Removed
  • boot/generic/src/printf_core.c

    r96b89acb r1e27d85  
    7979        PrintfQualifierLong,
    8080        PrintfQualifierLongLong,
    81         PrintfQualifierPointer
     81        PrintfQualifierPointer,
     82        PrintfQualifierSize
    8283} qualifier_t;
    8384
     
    431432 *  - ""   Signed or unsigned int (default value).@n
    432433 *  - "l"  Signed or unsigned long int.@n
    433  *         If conversion is "c", the character is wchar_t (wide character).@n
    434  *         If conversion is "s", the string is wchar_t * (wide string).@n
    435434 *  - "ll" Signed or unsigned long long int.@n
    436435 *
     
    612611                                }
    613612                                break;
     613                        case 'z':
     614                                qualifier = PrintfQualifierSize;
     615                                i = nxt;
     616                                uc = str_decode(fmt, &nxt, STR_NO_LIMIT);
     617                                break;
    614618                        default:
    615619                                /* Default type */
     
    720724                                number = (uint64_t) (uintptr_t) va_arg(ap, void *);
    721725                                break;
     726                        case PrintfQualifierSize:
     727                                size = sizeof(size_t);
     728                                number = (uint64_t) va_arg(ap, size_t);
     729                                break;
    722730                        default:
    723731                                /* Unknown qualifier */
Note: See TracChangeset for help on using the changeset viewer.