Add max_size to miiSelectorReturnGet functions

This commit is contained in:
Oreo639 2019-04-30 19:48:31 -07:00
parent 7671241c9c
commit 35921f83f9
2 changed files with 14 additions and 9 deletions

View File

@ -159,17 +159,22 @@ void miiSelectorSetInitalIndex(MiiSelectorConf *conf, u32 index);
* @brief Get Mii name
*
* @param returnbuf Pointer to miiSelector return
* @param out String containing a Mii's name (a length of at least 36 is expected)
* @param out String containing a Mii's name
* @param max_size Size of string. Since UTF8 characters range in size from 1-3 bytes
* (assuming that no non-BMP characters are used), this value should be 36 (or 30 if you are not
* dealing with guest miis).
*/
void miiSelectorReturnGetName(const MiiSelectorReturn *returnbuf, char* out);
void miiSelectorReturnGetName(const MiiSelectorReturn *returnbuf, char* out, size_t max_size);
/**
* @brief Get Mii Author
*
* @param returnbuf Pointer to miiSelector return
* @param out String containing a Mii's author (a length of at least 30 is expected)
* @param out String containing a Mii's author
* @param max_size Size of string. Since UTF8 characters range in size from 1-3 bytes
* (assuming that no non-BMP characters are used), this value should be 30.
*/
void miiSelectorReturnGetAuthor(const MiiSelectorReturn *returnbuf, char* out);
void miiSelectorReturnGetAuthor(const MiiSelectorReturn *returnbuf, char* out, size_t max_size);
/**
* @brief Verifies that the Mii data returned from the applet matches its

View File

@ -130,23 +130,23 @@ void miiSelectorSetInitalIndex(MiiSelectorConf *conf, u32 index) {
conf->initial_index = index;
}
void miiSelectorReturnGetName(const MiiSelectorReturn *returnbuf, char* out)
void miiSelectorReturnGetName(const MiiSelectorReturn *returnbuf, char* out, size_t max_size)
{
if (!out)
return;
if (returnbuf->guest_mii_was_selected)
miiSelectorConvertToUTF8(out, returnbuf->guest_mii_name, 36);
miiSelectorConvertToUTF8(out, returnbuf->guest_mii_name, max_size);
else
miiSelectorConvertToUTF8(out, returnbuf->mii.mii_name, 36);
miiSelectorConvertToUTF8(out, returnbuf->mii.mii_name, max_size);
}
void miiSelectorReturnGetAuthor(const MiiSelectorReturn *returnbuf, char* out)
void miiSelectorReturnGetAuthor(const MiiSelectorReturn *returnbuf, char* out, size_t max_size)
{
if (!out)
return;
miiSelectorConvertToUTF8(out, returnbuf->mii.author_name, 30);
miiSelectorConvertToUTF8(out, returnbuf->mii.author_name, max_size);
}
static u16 crc16_ccitt(void const *buf, size_t len, uint32_t starting_val)