* Parse a name. */
| 890 | * Parse a name. |
| 891 | */ |
| 892 | static const char *parseSymbolName(Parser &parser, int t, bool ptr) |
| 893 | { |
| 894 | std::string name; |
| 895 | switch (t) |
| 896 | { |
| 897 | case '.': |
| 898 | name += '.'; |
| 899 | parser.expectToken(TOKEN_NAME); |
| 900 | name += parser.s; |
| 901 | return strDup(name.c_str()); |
| 902 | case TOKEN_NAME: |
| 903 | return strDup(parser.s); |
| 904 | case TOKEN_STRING: |
| 905 | return (ptr? strDup(parser.s): nullptr); |
| 906 | default: |
| 907 | return nullptr; |
| 908 | } |
| 909 | } |
| 910 | |
| 911 | /* |
| 912 | * Parse a patch arg. |
no test coverage detected