| 1953 | } |
| 1954 | |
| 1955 | static int yaml_decode_plain(const char *data, size_t start, size_t end, yaml_buf_t *decoded) { |
| 1956 | const char *indicators = "-?:,[]{}#&*!|>@`"; |
| 1957 | if (strchr(indicators, data[start]) != NULL) { |
| 1958 | return YAML_ERROR; |
| 1959 | } |
| 1960 | for (size_t i = start; i < end; i++) { |
| 1961 | char c = data[i]; |
| 1962 | if ((c == ':' && i + YAML_UNIT < end && data[i + YAML_UNIT] == ' ') || |
| 1963 | (c == '#' && i > start && data[i - YAML_UNIT] == ' ')) { |
| 1964 | return YAML_ERROR; |
| 1965 | } |
| 1966 | } |
| 1967 | return yaml_buf_append(decoded, data + start, end - start); |
| 1968 | } |
| 1969 | |
| 1970 | static int yaml_decode_scalar(const char *data, size_t start, size_t end, char **out_value) { |
| 1971 | start = yaml_skip_spaces(data, start, end); |
no test coverage detected