[apps/shared] Fix char buffer initialization (make it const)

This commit is contained in:
Léa Saviot
2018-11-23 14:13:55 +01:00
parent 2794669eb9
commit f81e221f50
2 changed files with 7 additions and 4 deletions

View File

@@ -9,7 +9,7 @@ using namespace Poincare;
namespace Shared {
char StorageFunction::k_parenthesedArgument[]("(x)");
constexpr char StorageFunction::k_parenthesedArgument[];
bool StorageFunction::BaseNameCompliant(const char * baseName, NameNotCompliantError * error) {
assert(baseName[0] != 0);
@@ -62,9 +62,12 @@ void StorageFunction::setActive(bool active) {
int StorageFunction::nameWithArgument(char * buffer, size_t bufferSize, char arg) {
const char * functionName = fullName();
k_parenthesedArgument[1] = arg;
size_t baseNameLength = SymbolAbstract::TruncateExtension(buffer, functionName, bufferSize - k_parenthesedArgumentLength);
return baseNameLength + strlcpy(&buffer[baseNameLength], k_parenthesedArgument, bufferSize-baseNameLength);
int result = baseNameLength + strlcpy(&buffer[baseNameLength], k_parenthesedArgument, bufferSize-baseNameLength);
if (baseNameLength+1 < bufferSize - 1) {
buffer[baseNameLength+1] = arg;
}
return result;
}
template<typename T>

View File

@@ -15,7 +15,7 @@ public:
ReservedName
};
constexpr static int k_parenthesedArgumentLength = 3;
static char k_parenthesedArgument[k_parenthesedArgumentLength+1];
static constexpr char k_parenthesedArgument[k_parenthesedArgumentLength+1] = "(x)";
constexpr static int k_maxNameWithArgumentSize = Poincare::SymbolAbstract::k_maxNameSize + k_parenthesedArgumentLength; /* Function name and null-terminating char + "(x)" */;
static bool BaseNameCompliant(const char * baseName, NameNotCompliantError * error = nullptr);