From 7854ff6921a77a66abdde7c5a3d0d2c5a3bbeede Mon Sep 17 00:00:00 2001 From: The Dax Date: Mon, 3 Jun 2019 21:02:09 -0400 Subject: [PATCH] Minor refactor. -Rename `buffer` to `nickname`. -In SetDeviceNickname, copy the string to a tmp stack buffer (0x80 bytes). --- nx/include/switch/services/set.h | 9 +++++---- nx/source/services/set.c | 13 ++++++++----- 2 files changed, 13 insertions(+), 9 deletions(-) diff --git a/nx/include/switch/services/set.h b/nx/include/switch/services/set.h index 549b561f..57b9a2b4 100644 --- a/nx/include/switch/services/set.h +++ b/nx/include/switch/services/set.h @@ -11,6 +11,7 @@ #include "../kernel/event.h" #define SET_MAX_NAME_SIZE 0x48 +#define SET_MAX_NICKNAME_SIZE 0x80 typedef enum { ColorSetId_Light=0, @@ -178,12 +179,12 @@ Result setsysGetFatalDirtyFlags(u64 *flags_0, u64 *flags_1); /** * @brief Gets the system's nickname. - * @param buffer Pointer to output the nickname to. (The buffer size needs to be at least 0x80 bytes) + * @param nickname Pointer to output the nickname to. (The buffer size needs to be at least 0x80 bytes) */ -Result setsysGetDeviceNickname(char* buffer); +Result setsysGetDeviceNickname(char* nickname); /** * @brief Sets the system's nickname. - * @param buffer Pointer to read the nickname from. + * @param nickname Pointer to read the nickname from. */ -Result setsysSetDeviceNickname(const char* buffer); +Result setsysSetDeviceNickname(const char* nickname); diff --git a/nx/source/services/set.c b/nx/source/services/set.c index 2a606c13..7290e275 100644 --- a/nx/source/services/set.c +++ b/nx/source/services/set.c @@ -687,11 +687,11 @@ Result setsysGetFatalDirtyFlags(u64 *flags_0, u64 *flags_1) { return rc; } -Result setsysGetDeviceNickname(char* buffer) { +Result setsysGetDeviceNickname(char* nickname) { IpcCommand c; ipcInitialize(&c); - ipcAddRecvBuffer(&c, buffer, 0x80, BufferType_Normal); + ipcAddRecvBuffer(&c, nickname, SET_MAX_NICKNAME_SIZE, BufferType_Normal); struct { u64 magic; @@ -720,11 +720,14 @@ Result setsysGetDeviceNickname(char* buffer) { return rc; } -Result setsysSetDeviceNickname(const char* buffer) { +Result setsysSetDeviceNickname(const char* nickname) { + char send_nickname[SET_MAX_NICKNAME_SIZE]; + memset(send_nickname, 0, SET_MAX_NICKNAME_SIZE); + strncpy(send_nickname, nickname, SET_MAX_NICKNAME_SIZE-1); + IpcCommand c; ipcInitialize(&c); - - ipcAddSendBuffer(&c, buffer, strlen(buffer) + 1, BufferType_Normal); + ipcAddSendBuffer(&c, send_nickname, SET_MAX_NICKNAME_SIZE, 0); struct { u64 magic;