mirror of
https://github.com/UpsilonNumworks/Upsilon.git
synced 2026-03-30 12:10:03 +02:00
[poincare] SymbolAbstract: add a static method TruncateExtension
This commit is contained in:
@@ -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()); }
|
||||
|
||||
@@ -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;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user