| 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) { |