5
* Copyright (C) 2010 DeNA Co.,Ltd.. All rights reserved.
6
* See COPYRIGHT.txt for details.
11
#include "string_buffer.hpp"
12
#include "string_ref.hpp"
13
#include "string_util.hpp"
15
#ifndef DENA_ESCAPE_HPP
16
#define DENA_ESCAPE_HPP
20
void escape_string(char *& wp, const char *start, const char *finish);
21
void escape_string(string_buffer& ar, const char *start, const char *finish);
22
bool unescape_string(char *& wp, const char *start, const char *finish);
23
/* unescaped_string() works even if wp == start */
24
bool unescape_string(string_buffer& ar, const char *start, const char *finish);
26
uint32_t read_ui32(char *& start, char *finish);
27
void write_ui32(string_buffer& buf, uint32_t v);
30
is_null_expression(const char *start, const char *finish)
32
return (finish == start + 1 && start[0] == 0);
36
read_token(char *& start, char *finish)
38
char *const p = memchr_char(start, '\t', finish - start);
47
skip_token_delim_fold(char *& start, char *finish)
49
while (start != finish && start[0] == '\t') {
55
skip_one(char *& start, char *finish)
57
if (start != finish) {