| 1918 | } |
| 1919 | |
| 1920 | static char_t* parse_wconv(char_t* s, char_t end_quote) |
| 1921 | { |
| 1922 | gap g; |
| 1923 | |
| 1924 | while (true) |
| 1925 | { |
| 1926 | while (!PUGI__IS_CHARTYPE(*s, ct_parse_attr_ws)) ++s; |
| 1927 | |
| 1928 | if (*s == end_quote) |
| 1929 | { |
| 1930 | *g.flush(s) = 0; |
| 1931 | |
| 1932 | return s + 1; |
| 1933 | } |
| 1934 | else if (PUGI__IS_CHARTYPE(*s, ct_space)) |
| 1935 | { |
| 1936 | if (*s == '\r') |
| 1937 | { |
| 1938 | *s++ = ' '; |
| 1939 | |
| 1940 | if (*s == '\n') g.push(s, 1); |
| 1941 | } |
| 1942 | else *s++ = ' '; |
| 1943 | } |
| 1944 | else if (opt_escape::value && *s == '&') |
| 1945 | { |
| 1946 | s = strconv_escape(s, g); |
| 1947 | } |
| 1948 | else if (!*s) |
| 1949 | { |
| 1950 | return 0; |
| 1951 | } |
| 1952 | else ++s; |
| 1953 | } |
| 1954 | } |
| 1955 | |
| 1956 | static char_t* parse_eol(char_t* s, char_t end_quote) |
| 1957 | { |
nothing calls this directly
no test coverage detected