diff options
Diffstat (limited to 'src/ast/types.cpp')
| -rw-r--r-- | src/ast/types.cpp | 9 |
1 files changed, 5 insertions, 4 deletions
diff --git a/src/ast/types.cpp b/src/ast/types.cpp index 98bc6ee1..496cf694 100644 --- a/src/ast/types.cpp +++ b/src/ast/types.cpp @@ -40,13 +40,14 @@ static const struct { {"usize", CORETYPE_UINT}, }; -enum eCoreType coretype_fromstring(const ::std::string& name) +enum eCoreType coretype_fromstring(const char* name) { for(unsigned int i = 0; i < sizeof(CORETYPES)/sizeof(CORETYPES[0]); i ++) { - if( name < CORETYPES[i].name ) + int cmp = strcmp(name, CORETYPES[i].name); + if( cmp < 0 ) break; - if( name == CORETYPES[i].name ) + if( cmp == 0 ) return CORETYPES[i].type; } return CORETYPE_INVAL; @@ -323,7 +324,7 @@ namespace AST { os << "'_"; } else { - os << "'" << x.m_name; + os << "'" << x.m_name.name; if( x.m_binding != LifetimeRef::BINDING_UNBOUND ) { os << "/*" << x.m_binding << "*/"; } |
