Cogs.Core
Extensions
Gui
Libraries
litehtml
src
gumbo
char_ref.h
1
// Copyright 2011 Google Inc. All Rights Reserved.
2
//
3
// Licensed under the Apache License, Version 2.0 (the "License");
4
// you may not use this file except in compliance with the License.
5
// You may obtain a copy of the License at
6
//
7
// http://www.apache.org/licenses/LICENSE-2.0
8
//
9
// Unless required by applicable law or agreed to in writing, software
10
// distributed under the License is distributed on an "AS IS" BASIS,
11
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12
// See the License for the specific language governing permissions and
13
// limitations under the License.
14
//
15
// Author: jdtang@google.com (Jonathan Tang)
16
//
17
// Internal header for character reference handling; this should not be exposed
18
// transitively by any public API header. This is why the functions aren't
19
// namespaced.
20
21
#ifndef GUMBO_CHAR_REF_H_
22
#define GUMBO_CHAR_REF_H_
23
24
#include <stdbool.h>
25
26
#ifdef __cplusplus
27
extern
"C"
{
28
#endif
29
30
struct
GumboInternalParser
;
31
struct
GumboInternalUtf8Iterator
;
32
33
// Value that indicates no character was produced.
34
extern
const
int
kGumboNoChar;
35
36
// Certain named character references generate two codepoints, not one, and so
37
// the consume_char_ref subroutine needs to return this instead of an int. The
38
// first field will be kGumboNoChar if no character reference was found; the
39
// second field will be kGumboNoChar if that is the case or if the character
40
// reference returns only a single codepoint.
41
typedef
struct
{
42
int
first;
43
int
second;
44
}
OneOrTwoCodepoints
;
45
46
// Implements the "consume a character reference" section of the spec.
47
// This reads in characters from the input as necessary, and fills in a
48
// OneOrTwoCodepoints struct containing the characters read. It may add parse
49
// errors to the GumboParser's errors vector, if the spec calls for it. Pass a
50
// space for the "additional allowed char" when the spec says "with no
51
// additional allowed char". Returns false on parse error, true otherwise.
52
bool
consume_char_ref(
struct
GumboInternalParser
* parser,
53
struct
GumboInternalUtf8Iterator
* input,
int
additional_allowed_char,
54
bool
is_in_attribute,
OneOrTwoCodepoints
* output);
55
56
#ifdef __cplusplus
57
}
58
#endif
59
60
#endif
// GUMBO_CHAR_REF_H_
GumboInternalParser
Definition:
parser.h:35
GumboInternalUtf8Iterator
Definition:
utf8.h:50
OneOrTwoCodepoints
Definition:
char_ref.h:41
Generated by
1.9.6