src/libtsduck/base/tsUString.cpp
void ts::UString::ArgMixInContext::getFormatSize(size_t& size)
{
    if (IsDigit(*_fmt)) {
        // An decimal integer literal is present, decode it.
        size = 0;
        while (IsDigit(*_fmt)) {
            size = 10 * size + *_fmt++ - u'0';
        }
    }
    else if (*_fmt == u'*') {
        // The size field is taken from the argument list.
        ++_fmt;
        if (_arg != _end) {
            size = _arg->toInteger<size_t>();
            ++_arg;
        }
        else if (debugActive()) {
            debug(u"missing argument for %* specifier");
        }
    }
}
// Anciliary function to extract a size field from a '%' sequence.
Anciliary function to extract a size field from a '%' sequence.
Anciliary function to extract a size field from a ' % ' sequence .
void ts::UString::ArgMixInContext::getFormatSize(size_t& size)
{
    if (IsDigit(*_fmt)) {
        size = 0;
        while (IsDigit(*_fmt)) {
            size = 10 * size + *_fmt++ - u'0';
        }
    }
    else if (*_fmt == u'*') {
        ++_fmt;
        if (_arg != _end) {
            size = _arg->toInteger<size_t>();
            ++_arg;
        }
        else if (debugActive()) {
            debug(u"missing argument for %* specifier");
        }
    }
}
void ts :: UString :: ArgMixInContext :: getFormatSize ( size_t & size ) { if ( IsDigit ( * _fmt ) ) { size = 0 ; while ( IsDigit ( * _fmt ) ) { size = 10 * size + * _fmt ++ - u' ' ; } } else if ( * _fmt == u' ' ) { ++ _fmt ; if ( _arg != _end ) { size = _arg -> toInteger < size_t > ( ) ; ++ _arg ; } else if ( debugActive ( ) ) { debug ( u" " ) ; } } }
Anciliary function to extract a size field from a '%' sequence.
Anciliary function to extract a size field from a ' % ' sequence .
// An decimal integer literal is present, decode it. // The size field is taken from the argument list.