libpayload/libc: Tidy utf16le_to_ascii

- Constify the string argument
- Change int to size_t, which is what xmalloc expects

Change-Id: I8b5a13319ded4025f883760f2b6d4d7a9ad9fb8b
Signed-off-by: Jacob Garber <jgarber1@ualberta.ca>
Reviewed-on: https://review.coreboot.org/c/coreboot/+/33793
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Julius Werner <jwerner@chromium.org>
This commit is contained in:
Jacob Garber 2019-06-25 16:55:52 -06:00 committed by Patrick Georgi
parent 768db4f5ca
commit c3feebb7f5
2 changed files with 3 additions and 4 deletions

View File

@ -73,7 +73,7 @@ char *strerror(int errnum);
* @defgroup string Unicode functions * @defgroup string Unicode functions
* @{ * @{
*/ */
char *utf16le_to_ascii(uint16_t *utf16_string, int maxlen); char *utf16le_to_ascii(const uint16_t *utf16_string, size_t maxlen);
/** @} */ /** @} */
/** /**

View File

@ -645,12 +645,11 @@ char *strerror(int errnum)
* @param maxlen Maximum possible length of the string in code points * @param maxlen Maximum possible length of the string in code points
* @return Newly allocated ASCII string * @return Newly allocated ASCII string
*/ */
char *utf16le_to_ascii(uint16_t *utf16_string, int maxlen) char *utf16le_to_ascii(const uint16_t *utf16_string, size_t maxlen)
{ {
char *ascii_string = xmalloc(maxlen + 1); /* +1 for trailing \0 */ char *ascii_string = xmalloc(maxlen + 1); /* +1 for trailing \0 */
ascii_string[maxlen] = '\0'; ascii_string[maxlen] = '\0';
int i; for (size_t i = 0; i < maxlen; i++) {
for (i = 0; i < maxlen; i++) {
uint16_t wchar = utf16_string[i]; uint16_t wchar = utf16_string[i];
ascii_string[i] = wchar > 0x7f ? '?' : (char)wchar; ascii_string[i] = wchar > 0x7f ? '?' : (char)wchar;
} }