| | |
| | | * @param chr |
| | | * @return |
| | | */ |
| | | static int skipChr(lex_state_t * state, int chr) { |
| | | static int skipChr(lex_state_t * state, char chr) { |
| | | if (!iseos(state) && ischr(state, chr)) { |
| | | state->pos++; |
| | | return SKIP_OK; |
| | |
| | | return (c >= 0) && (c <= 0x7f); |
| | | } |
| | | |
| | | static void skipQuoteProgramData(lex_state_t * state, int quote) { |
| | | static void skipQuoteProgramData(lex_state_t * state, char quote) { |
| | | while (!iseos(state)) { |
| | | if (isascii7bit(state->pos[0]) && !ischr(state, quote)) { |
| | | state->pos++; |
| | |
| | | token->len = state->pos - token->ptr; |
| | | |
| | | if ((token->len > 0)) { |
| | | token->ptr++; |
| | | token->len -= 2; |
| | | //token->ptr++; |
| | | //token->len -= 2; |
| | | } else { |
| | | token->type = SCPI_TOKEN_UNKNOWN; |
| | | state->pos = token->ptr; |
| | | token->len = 0; |
| | | } |
| | | |
| | | return token->len > 0 ? token->len + 2 : 0; |
| | | return token->len > 0 ? token->len : 0; |
| | | } |
| | | |
| | | /* 7.7.6 <ARBITRARY BLOCK PROGRAM DATA> */ |