diff --git a/poincare/include/poincare/function.h b/poincare/include/poincare/function.h index 5944e2ae0..bd49e8fd8 100644 --- a/poincare/include/poincare/function.h +++ b/poincare/include/poincare/function.h @@ -46,9 +46,9 @@ private: class Function : public SymbolAbstract { public: - explicit Function(const char * name); + Function(const char * name, size_t length); Function(const FunctionNode * n) : SymbolAbstract(n) {} - explicit Function(const char * name, Expression child) : Function(name) { + Function(const char * name, size_t length, Expression child) : Function(name, length) { replaceChildAtIndexInPlace(0, child); } diff --git a/poincare/src/function.cpp b/poincare/src/function.cpp index 19b9a659a..f538ddb0a 100644 --- a/poincare/src/function.cpp +++ b/poincare/src/function.cpp @@ -87,10 +87,10 @@ Evaluation FunctionNode::templatedApproximate(Context& context, Preferences:: return e.approximateToEvaluation(newContext, angleUnit); } -Function::Function(const char * name) : - Function(TreePool::sharedPool()->createTreeNode(SymbolAbstract::AlignedNodeSize(strlen(name), sizeof(FunctionNode)))) +Function::Function(const char * name, size_t length) : + Function(TreePool::sharedPool()->createTreeNode(SymbolAbstract::AlignedNodeSize(length, sizeof(FunctionNode)))) { - static_cast(Expression::node())->setName(name, strlen(name)); + static_cast(Expression::node())->setName(name, length); } Expression Function::replaceSymbolWithExpression(const SymbolAbstract & symbol, const Expression & expression) {