[poincare] SymbolAbstract: add a static method TruncateExtension

This commit is contained in:
Émilie Feral
2018-10-08 13:45:16 +02:00
parent 23f62b8dbe
commit da2d6de0c1
2 changed files with 12 additions and 0 deletions

View File

@@ -43,6 +43,8 @@ protected:
class SymbolAbstract : public Expression {
public:
const char * name() const { return node()->name(); }
static size_t TruncateExtension(char * dst, const char * src, size_t len);
constexpr static size_t k_maxNameSize = 16;
protected:
SymbolAbstract(const SymbolAbstractNode * node) : Expression(node) {}
SymbolAbstractNode * node() const { return static_cast<SymbolAbstractNode *>(Expression::node()); }

View File

@@ -20,4 +20,14 @@ void SymbolAbstractNode::initName(size_t nameSize) {
modifiableName[nameSize-1] = 0;
}
size_t SymbolAbstract::TruncateExtension(char * dst, const char * src, size_t len) {
const char * cur = src;
const char * end = src+len-1;
while (*cur != '.' && cur < end) {
*dst++ = *cur++;
}
*dst = 0;
return cur-src;
}
}