344 |
|
return false; |
345 |
|
} |
346 |
|
|
347 |
< |
// to support 1.ca, let's check the character after the dot |
348 |
< |
// to determine if it is an alpha |
349 |
< |
if (ch == '.' && (ichT + 1 < cchScript) && std::isalpha(script[ichT + 1])) { |
347 |
> |
// to support DMPC.1, let's check the character before the dot |
348 |
> |
if (ch == '.' && (ichT > 0) && std::isalpha(script[ichT - 1])) { |
349 |
|
return false; |
350 |
|
} |
351 |
|
|
689 |
|
|
690 |
|
int tok = tokPeek(); |
691 |
|
|
692 |
< |
if (tok == Token::asterisk || tok == Token::identifier) { |
693 |
< |
name += boost::any_cast<std::string>(tokenNext().value); |
694 |
< |
|
692 |
> |
if (tok == Token::asterisk || tok == Token::identifier || tok == Token::integer) { |
693 |
> |
|
694 |
> |
Token token = tokenNext(); |
695 |
> |
if (token.value.type() == typeid(std::string)) { |
696 |
> |
name += boost::any_cast<std::string>(token.value); |
697 |
> |
} else if (token.value.type() == typeid(int)){ |
698 |
> |
int intVal = boost::any_cast<int>(token.value); |
699 |
> |
char buffer[255]; |
700 |
> |
sprintf(buffer,"%d", intVal); |
701 |
> |
name += buffer; /** @todo */ |
702 |
> |
//name += toString<int>(intVal); |
703 |
> |
} |
704 |
|
while(true){ |
705 |
|
tok = tokPeek(); |
706 |
|
switch (tok) { |