mirror of
https://gitea.osmocom.org/sim-card/simtrace2.git
synced 2026-03-27 02:38:33 +03:00
stdio: add void 'l' format string qualifier
Wformat requires uint32_t to be used in format string with the 'l' qualifier (l = long = at least 32 bits). this qualifier was not handled before. since on ARM 32-bit int == long we can simply ignore it (stdio already does not support 64-bit data). Change-Id: Ib506a66f68712c6b3eeb5129a39abf47ec86a2a7
This commit is contained in:
@@ -350,19 +350,22 @@ signed int vsnprintf(char *pStr, size_t length, const char *pFormat, va_list ap)
|
|||||||
}
|
}
|
||||||
|
|
||||||
// Parse type
|
// Parse type
|
||||||
switch (*pFormat) {
|
do {
|
||||||
case 'd':
|
num = 0;
|
||||||
case 'i': num = PutSignedInt(pStr, fill, width, va_arg(ap, signed int)); break;
|
switch (*pFormat) {
|
||||||
case 'u': num = PutUnsignedInt(pStr, fill, width, va_arg(ap, unsigned int)); break;
|
case 'l': num = -1; break; // ignore long qualifier since int == long (and long long is not supported)
|
||||||
case 'x': num = PutHexa(pStr, fill, width, 0, va_arg(ap, unsigned int)); break;
|
case 'd':
|
||||||
case 'X': num = PutHexa(pStr, fill, width, 1, va_arg(ap, unsigned int)); break;
|
case 'i': num = PutSignedInt(pStr, fill, width, va_arg(ap, signed int)); break;
|
||||||
case 's': num = PutString(pStr, va_arg(ap, char *)); break;
|
case 'u': num = PutUnsignedInt(pStr, fill, width, va_arg(ap, unsigned int)); break;
|
||||||
case 'c': num = PutChar(pStr, va_arg(ap, unsigned int)); break;
|
case 'x': num = PutHexa(pStr, fill, width, 0, va_arg(ap, unsigned int)); break;
|
||||||
default:
|
case 'X': num = PutHexa(pStr, fill, width, 1, va_arg(ap, unsigned int)); break;
|
||||||
return EOF;
|
case 's': num = PutString(pStr, va_arg(ap, char *)); break;
|
||||||
}
|
case 'c': num = PutChar(pStr, va_arg(ap, unsigned int)); break;
|
||||||
|
default:
|
||||||
pFormat++;
|
return EOF;
|
||||||
|
}
|
||||||
|
pFormat++;
|
||||||
|
} while (num < 0);
|
||||||
pStr += num;
|
pStr += num;
|
||||||
size += num;
|
size += num;
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user