aboutsummaryrefslogtreecommitdiff
path: root/backend
diff options
context:
space:
mode:
authorChristine Dodrill <me@christine.website>2017-01-10 12:38:33 -0800
committerChristine Dodrill <me@christine.website>2017-01-10 12:38:33 -0800
commit6e292d4d1d65d83cc089e74063cb70ea63bbd795 (patch)
tree2409c6b3f26a4e70499cbbc19f327e01b4a85ca1 /backend
parentee89843f5bf60a1e8a3a6bf604ac3f67d25ff72a (diff)
downloadxesite-6e292d4d1d65d83cc089e74063cb70ea63bbd795.tar.xz
xesite-6e292d4d1d65d83cc089e74063cb70ea63bbd795.zip
move vendor to repo root
Diffstat (limited to 'backend')
-rw-r--r--backend/christine.website/vendor-log4
-rw-r--r--backend/christine.website/vendor/github.com/Xe/asarfs/asarfs.go59
-rw-r--r--backend/christine.website/vendor/github.com/Xe/asarfs/runtest.go24
-rw-r--r--backend/christine.website/vendor/github.com/gernest/front/front.go144
-rw-r--r--backend/christine.website/vendor/gopkg.in/yaml.v2/apic.go742
-rw-r--r--backend/christine.website/vendor/gopkg.in/yaml.v2/decode.go683
-rw-r--r--backend/christine.website/vendor/gopkg.in/yaml.v2/emitterc.go1685
-rw-r--r--backend/christine.website/vendor/gopkg.in/yaml.v2/encode.go306
-rw-r--r--backend/christine.website/vendor/gopkg.in/yaml.v2/parserc.go1096
-rw-r--r--backend/christine.website/vendor/gopkg.in/yaml.v2/readerc.go394
-rw-r--r--backend/christine.website/vendor/gopkg.in/yaml.v2/resolve.go203
-rw-r--r--backend/christine.website/vendor/gopkg.in/yaml.v2/scannerc.go2710
-rw-r--r--backend/christine.website/vendor/gopkg.in/yaml.v2/sorter.go104
-rw-r--r--backend/christine.website/vendor/gopkg.in/yaml.v2/writerc.go89
-rw-r--r--backend/christine.website/vendor/gopkg.in/yaml.v2/yaml.go346
-rw-r--r--backend/christine.website/vendor/gopkg.in/yaml.v2/yamlh.go716
-rw-r--r--backend/christine.website/vendor/gopkg.in/yaml.v2/yamlprivateh.go173
-rw-r--r--backend/christine.website/vendor/layeh.com/asar/builder.go80
-rw-r--r--backend/christine.website/vendor/layeh.com/asar/decoder.go64
-rw-r--r--backend/christine.website/vendor/layeh.com/asar/doc.go2
-rw-r--r--backend/christine.website/vendor/layeh.com/asar/encoder.go122
-rw-r--r--backend/christine.website/vendor/layeh.com/asar/entry.go227
-rw-r--r--backend/christine.website/vendor/layeh.com/asar/header.go212
23 files changed, 0 insertions, 10185 deletions
diff --git a/backend/christine.website/vendor-log b/backend/christine.website/vendor-log
deleted file mode 100644
index ddcd77a..0000000
--- a/backend/christine.website/vendor-log
+++ /dev/null
@@ -1,4 +0,0 @@
-94c8a5673a78ada68d7b97e1d4657cffc6ec68d7 github.com/gernest/front
-a5b47d31c556af34a302ce5d659e6fea44d90de0 gopkg.in/yaml.v2
-b68094ba95c055dfda888baa8947dfe44c20b1ac github.com/Xe/asarfs
-5e4d0891fe789f2da0c2d5afada3b6a1ede6d64c layeh.com/asar
diff --git a/backend/christine.website/vendor/github.com/Xe/asarfs/asarfs.go b/backend/christine.website/vendor/github.com/Xe/asarfs/asarfs.go
deleted file mode 100644
index 842ce58..0000000
--- a/backend/christine.website/vendor/github.com/Xe/asarfs/asarfs.go
+++ /dev/null
@@ -1,59 +0,0 @@
-package asarfs
-
-import (
- "mime"
- "net/http"
- "os"
- "path/filepath"
- "strings"
-
- "layeh.com/asar"
-)
-
-type ASARfs struct {
- fin *os.File
- ar *asar.Entry
- notFound http.Handler
-}
-
-func (a *ASARfs) Close() error {
- return a.fin.Close()
-}
-
-func (a *ASARfs) ServeHTTP(w http.ResponseWriter, r *http.Request) {
- if r.RequestURI == "/" {
- r.RequestURI = "/index.html"
- }
-
- f := a.ar.Find(strings.Split(r.RequestURI, "/")[1:]...)
- if f == nil {
- a.notFound.ServeHTTP(w, r)
- return
- }
-
- ext := filepath.Ext(f.Name)
- mimeType := mime.TypeByExtension(ext)
-
- w.Header().Add("Content-Type", mimeType)
- f.WriteTo(w)
-}
-
-func New(archivePath string, notFound http.Handler) (*ASARfs, error) {
- fin, err := os.Open(archivePath)
- if err != nil {
- return nil, err
- }
-
- root, err := asar.Decode(fin)
- if err != nil {
- return nil, err
- }
-
- a := &ASARfs{
- fin: fin,
- ar: root,
- notFound: notFound,
- }
-
- return a, nil
-}
diff --git a/backend/christine.website/vendor/github.com/Xe/asarfs/runtest.go b/backend/christine.website/vendor/github.com/Xe/asarfs/runtest.go
deleted file mode 100644
index 4b839de..0000000
--- a/backend/christine.website/vendor/github.com/Xe/asarfs/runtest.go
+++ /dev/null
@@ -1,24 +0,0 @@
-// +build ignore
-
-package main
-
-import (
- "log"
- "net/http"
- "os"
-
- "github.com/Xe/asarfs"
-)
-
-func do404(w http.ResponseWriter, r *http.Request) {
- http.Error(w, "Not found", http.StatusNotFound)
-}
-
-func main() {
- fs, err := asarfs.New("./static.asar", http.HandlerFunc(do404))
- if err != nil {
- log.Fatal(err)
- }
-
- http.ListenAndServe(":"+os.Getenv("PORT"), fs)
-}
diff --git a/backend/christine.website/vendor/github.com/gernest/front/front.go b/backend/christine.website/vendor/github.com/gernest/front/front.go
deleted file mode 100644
index f4c6f25..0000000
--- a/backend/christine.website/vendor/github.com/gernest/front/front.go
+++ /dev/null
@@ -1,144 +0,0 @@
-// Package front is a frontmatter extraction library.
-package front
-
-import (
- "bufio"
- "bytes"
- "encoding/json"
- "errors"
- "io"
- "strings"
-
- "gopkg.in/yaml.v2"
-)
-
-var (
- //ErrIsEmpty is an error indicating no front matter was found
- ErrIsEmpty = errors.New("front: an empty file")
-
- //ErrUnknownDelim is returned when the delimiters are not known by the
- //FrontMatter implementation.
- ErrUnknownDelim = errors.New("front: unknown delim")
-)
-
-type (
- //HandlerFunc is an interface for a function that process front matter text.
- HandlerFunc func(string) (map[string]interface{}, error)
-)
-
-//Matter is all what matters here.
-type Matter struct {
- handlers map[string]HandlerFunc
-}
-
-//NewMatter creates a new Matter instance
-func NewMatter() *Matter {
- return &Matter{handlers: make(map[string]HandlerFunc)}
-}
-
-//Handle registers a handler for the given frontmatter delimiter
-func (m *Matter) Handle(delim string, fn HandlerFunc) {
- m.handlers[delim] = fn
-}
-
-// Parse parses the input and extract the frontmatter
-func (m *Matter) Parse(input io.Reader) (front map[string]interface{}, body string, err error) {
- return m.parse(input)
-}
-func (m *Matter) parse(input io.Reader) (front map[string]interface{}, body string, err error) {
- var getFront = func(f string) string {
- return strings.TrimSpace(f[3:])
- }
- f, body, err := m.splitFront(input)
- if err != nil {
- return nil, "", err
- }
- h := m.handlers[f[:3]]
- front, err = h(getFront(f))
- if err != nil {
- return nil, "", err
- }
- return front, body, nil
-
-}
-func sniffDelim(input []byte) (string, error) {
- if len(input) < 4 {
- return "", ErrIsEmpty
- }
- return string(input[:3]), nil
-}
-
-func (m *Matter) splitFront(input io.Reader) (front, body string, err error) {
- bufsize := 1024 * 1024
- buf := make([]byte, bufsize)
-
- s := bufio.NewScanner(input)
- // Necessary so we can handle larger than default 4096b buffer
- s.Buffer(buf, bufsize)
-
- rst := make([]string, 2)
- s.Split(m.split)
- n := 0
- for s.Scan() {
- if n == 0 {
- rst[0] = s.Text()
- } else if n == 1 {
- rst[1] = s.Text()
- }
- n++
- }
- if err = s.Err(); err != nil {
- return
- }
- return rst[0], rst[1], nil
-}
-
-//split implements bufio.SplitFunc for spliting fron matter from the body text.
-func (m *Matter) split(data []byte, atEOF bool) (advance int, token []byte, err error) {
- if atEOF && len(data) == 0 {
- return 0, nil, nil
- }
- delim, err := sniffDelim(data)
- if err != nil {
- return 0, nil, err
- }
- if _, ok := m.handlers[delim]; !ok {
- return 0, nil, ErrUnknownDelim
- }
- if x := bytes.Index(data, []byte(delim)); x >= 0 {
- // check the next delim index
- if next := bytes.Index(data[x+len(delim):], []byte(delim)); next > 0 {
- return next + len(delim), dropSpace(data[:next+len(delim)]), nil
- }
- return len(data), dropSpace(data[x+len(delim):]), nil
- }
- if atEOF {
- return len(data), data, nil
- }
- return 0, nil, nil
-}
-
-func dropSpace(d []byte) []byte {
- return bytes.TrimSpace(d)
-}
-
-//JSONHandler implements HandlerFunc interface. It extracts front matter data from the given
-// string argument by interpreting it as a json string.
-func JSONHandler(front string) (map[string]interface{}, error) {
- var rst interface{}
- err := json.Unmarshal([]byte(front), &rst)
- if err != nil {
- return nil, err
- }
- return rst.(map[string]interface{}), nil
-}
-
-//YAMLHandler decodes ymal string into a go map[string]interface{}
-func YAMLHandler(front string) (map[string]interface{}, error) {
- out := make(map[string]interface{})
- err := yaml.Unmarshal([]byte(front), out)
- if err != nil {
- return nil, err
- }
- return out, nil
-}
diff --git a/backend/christine.website/vendor/gopkg.in/yaml.v2/apic.go b/backend/christine.website/vendor/gopkg.in/yaml.v2/apic.go
deleted file mode 100644
index 95ec014..0000000
--- a/backend/christine.website/vendor/gopkg.in/yaml.v2/apic.go
+++ /dev/null
@@ -1,742 +0,0 @@
-package yaml
-
-import (
- "io"
- "os"
-)
-
-func yaml_insert_token(parser *yaml_parser_t, pos int, token *yaml_token_t) {
- //fmt.Println("yaml_insert_token", "pos:", pos, "typ:", token.typ, "head:", parser.tokens_head, "len:", len(parser.tokens))
-
- // Check if we can move the queue at the beginning of the buffer.
- if parser.tokens_head > 0 && len(parser.tokens) == cap(parser.tokens) {
- if parser.tokens_head != len(parser.tokens) {
- copy(parser.tokens, parser.tokens[parser.tokens_head:])
- }
- parser.tokens = parser.tokens[:len(parser.tokens)-parser.tokens_head]
- parser.tokens_head = 0
- }
- parser.tokens = append(parser.tokens, *token)
- if pos < 0 {
- return
- }
- copy(parser.tokens[parser.tokens_head+pos+1:], parser.tokens[parser.tokens_head+pos:])
- parser.tokens[parser.tokens_head+pos] = *token
-}
-
-// Create a new parser object.
-func yaml_parser_initialize(parser *yaml_parser_t) bool {
- *parser = yaml_parser_t{
- raw_buffer: make([]byte, 0, input_raw_buffer_size),
- buffer: make([]byte, 0, input_buffer_size),
- }
- return true
-}
-
-// Destroy a parser object.
-func yaml_parser_delete(parser *yaml_parser_t) {
- *parser = yaml_parser_t{}
-}
-
-// String read handler.
-func yaml_string_read_handler(parser *yaml_parser_t, buffer []byte) (n int, err error) {
- if parser.input_pos == len(parser.input) {
- return 0, io.EOF
- }
- n = copy(buffer, parser.input[parser.input_pos:])
- parser.input_pos += n
- return n, nil
-}
-
-// File read handler.
-func yaml_file_read_handler(parser *yaml_parser_t, buffer []byte) (n int, err error) {
- return parser.input_file.Read(buffer)
-}
-
-// Set a string input.
-func yaml_parser_set_input_string(parser *yaml_parser_t, input []byte) {
- if parser.read_handler != nil {
- panic("must set the input source only once")
- }
- parser.read_handler = yaml_string_read_handler
- parser.input = input
- parser.input_pos = 0
-}
-
-// Set a file input.
-func yaml_parser_set_input_file(parser *yaml_parser_t, file *os.File) {
- if parser.read_handler != nil {
- panic("must set the input source only once")
- }
- parser.read_handler = yaml_file_read_handler
- parser.input_file = file
-}
-
-// Set the source encoding.
-func yaml_parser_set_encoding(parser *yaml_parser_t, encoding yaml_encoding_t) {
- if parser.encoding != yaml_ANY_ENCODING {
- panic("must set the encoding only once")
- }
- parser.encoding = encoding
-}
-
-// Create a new emitter object.
-func yaml_emitter_initialize(emitter *yaml_emitter_t) bool {
- *emitter = yaml_emitter_t{
- buffer: make([]byte, output_buffer_size),
- raw_buffer: make([]byte, 0, output_raw_buffer_size),
- states: make([]yaml_emitter_state_t, 0, initial_stack_size),
- events: make([]yaml_event_t, 0, initial_queue_size),
- }
- return true
-}
-
-// Destroy an emitter object.
-func yaml_emitter_delete(emitter *yaml_emitter_t) {
- *emitter = yaml_emitter_t{}
-}
-
-// String write handler.
-func yaml_string_write_handler(emitter *yaml_emitter_t, buffer []byte) error {
- *emitter.output_buffer = append(*emitter.output_buffer, buffer...)
- return nil
-}
-
-// File write handler.
-func yaml_file_write_handler(emitter *yaml_emitter_t, buffer []byte) error {
- _, err := emitter.output_file.Write(buffer)
- return err
-}
-
-// Set a string output.
-func yaml_emitter_set_output_string(emitter *yaml_emitter_t, output_buffer *[]byte) {
- if emitter.write_handler != nil {
- panic("must set the output target only once")
- }
- emitter.write_handler = yaml_string_write_handler
- emitter.output_buffer = output_buffer
-}
-
-// Set a file output.
-func yaml_emitter_set_output_file(emitter *yaml_emitter_t, file io.Writer) {
- if emitter.write_handler != nil {
- panic("must set the output target only once")
- }
- emitter.write_handler = yaml_file_write_handler
- emitter.output_file = file
-}
-
-// Set the output encoding.
-func yaml_emitter_set_encoding(emitter *yaml_emitter_t, encoding yaml_encoding_t) {
- if emitter.encoding != yaml_ANY_ENCODING {
- panic("must set the output encoding only once")
- }
- emitter.encoding = encoding
-}
-
-// Set the canonical output style.
-func yaml_emitter_set_canonical(emitter *yaml_emitter_t, canonical bool) {
- emitter.canonical = canonical
-}
-
-//// Set the indentation increment.
-func yaml_emitter_set_indent(emitter *yaml_emitter_t, indent int) {
- if indent < 2 || indent > 9 {
- indent = 2
- }
- emitter.best_indent = indent
-}
-
-// Set the preferred line width.
-func yaml_emitter_set_width(emitter *yaml_emitter_t, width int) {
- if width < 0 {
- width = -1
- }
- emitter.best_width = width
-}
-
-// Set if unescaped non-ASCII characters are allowed.
-func yaml_emitter_set_unicode(emitter *yaml_emitter_t, unicode bool) {
- emitter.unicode = unicode
-}
-
-// Set the preferred line break character.
-func yaml_emitter_set_break(emitter *yaml_emitter_t, line_break yaml_break_t) {
- emitter.line_break = line_break
-}
-
-///*
-// * Destroy a token object.
-// */
-//
-//YAML_DECLARE(void)
-//yaml_token_delete(yaml_token_t *token)
-//{
-// assert(token); // Non-NULL token object expected.
-//
-// switch (token.type)
-// {
-// case YAML_TAG_DIRECTIVE_TOKEN:
-// yaml_free(token.data.tag_directive.handle);
-// yaml_free(token.data.tag_directive.prefix);
-// break;
-//
-// case YAML_ALIAS_TOKEN:
-// yaml_free(token.data.alias.value);
-// break;
-//
-// case YAML_ANCHOR_TOKEN:
-// yaml_free(token.data.anchor.value);
-// break;
-//
-// case YAML_TAG_TOKEN:
-// yaml_free(token.data.tag.handle);
-// yaml_free(token.data.tag.suffix);
-// break;
-//
-// case YAML_SCALAR_TOKEN:
-// yaml_free(token.data.scalar.value);
-// break;
-//
-// default:
-// break;
-// }
-//
-// memset(token, 0, sizeof(yaml_token_t));
-//}
-//
-///*
-// * Check if a string is a valid UTF-8 sequence.
-// *
-// * Check 'reader.c' for more details on UTF-8 encoding.
-// */
-//
-//static int
-//yaml_check_utf8(yaml_char_t *start, size_t length)
-//{
-// yaml_char_t *end = start+length;
-// yaml_char_t *pointer = start;
-//
-// while (pointer < end) {
-// unsigned char octet;
-// unsigned int width;
-// unsigned int value;
-// size_t k;
-//
-// octet = pointer[0];
-// width = (octet & 0x80) == 0x00 ? 1 :
-// (octet & 0xE0) == 0xC0 ? 2 :
-// (octet & 0xF0) == 0xE0 ? 3 :
-// (octet & 0xF8) == 0xF0 ? 4 : 0;
-// value = (octet & 0x80) == 0x00 ? octet & 0x7F :
-// (octet & 0xE0) == 0xC0 ? octet & 0x1F :
-// (octet & 0xF0) == 0xE0 ? octet & 0x0F :
-// (octet & 0xF8) == 0xF0 ? octet & 0x07 : 0;
-// if (!width) return 0;
-// if (pointer+width > end) return 0;
-// for (k = 1; k < width; k ++) {
-// octet = pointer[k];
-// if ((octet & 0xC0) != 0x80) return 0;
-// value = (value << 6) + (octet & 0x3F);
-// }
-// if (!((width == 1) ||
-// (width == 2 && value >= 0x80) ||
-// (width == 3 && value >= 0x800) ||
-// (width == 4 && value >= 0x10000))) return 0;
-//
-// pointer += width;
-// }
-//
-// return 1;
-//}
-//
-
-// Create STREAM-START.
-func yaml_stream_start_event_initialize(event *yaml_event_t, encoding yaml_encoding_t) bool {
- *event = yaml_event_t{
- typ: yaml_STREAM_START_EVENT,
- encoding: encoding,
- }
- return true
-}
-
-// Create STREAM-END.
-func yaml_stream_end_event_initialize(event *yaml_event_t) bool {
- *event = yaml_event_t{
- typ: yaml_STREAM_END_EVENT,
- }
- return true
-}
-
-// Create DOCUMENT-START.
-func yaml_document_start_event_initialize(event *yaml_event_t, version_directive *yaml_version_directive_t,
- tag_directives []yaml_tag_directive_t, implicit bool) bool {
- *event = yaml_event_t{
- typ: yaml_DOCUMENT_START_EVENT,
- version_directive: version_directive,
- tag_directives: tag_directives,
- implicit: implicit,
- }
- return true
-}
-
-// Create DOCUMENT-END.
-func yaml_document_end_event_initialize(event *yaml_event_t, implicit bool) bool {
- *event = yaml_event_t{
- typ: yaml_DOCUMENT_END_EVENT,
- implicit: implicit,
- }
- return true
-}
-
-///*
-// * Create ALIAS.
-// */
-//
-//YAML_DECLARE(int)
-//yaml_alias_event_initialize(event *yaml_event_t, anchor *yaml_char_t)
-//{
-// mark yaml_mark_t = { 0, 0, 0 }
-// anchor_copy *yaml_char_t = NULL
-//
-// assert(event) // Non-NULL event object is expected.
-// assert(anchor) // Non-NULL anchor is expected.
-//
-// if (!yaml_check_utf8(anchor, strlen((char *)anchor))) return 0
-//
-// anchor_copy = yaml_strdup(anchor)
-// if (!anchor_copy)
-// return 0
-//
-// ALIAS_EVENT_INIT(*event, anchor_copy, mark, mark)
-//
-// return 1
-//}
-
-// Create SCALAR.
-func yaml_scalar_event_initialize(event *yaml_event_t, anchor, tag, value []byte, plain_implicit, quoted_implicit bool, style yaml_scalar_style_t) bool {
- *event = yaml_event_t{
- typ: yaml_SCALAR_EVENT,
- anchor: anchor,
- tag: tag,
- value: value,
- implicit: plain_implicit,
- quoted_implicit: quoted_implicit,
- style: yaml_style_t(style),
- }
- return true
-}
-
-// Create SEQUENCE-START.
-func yaml_sequence_start_event_initialize(event *yaml_event_t, anchor, tag []byte, implicit bool, style yaml_sequence_style_t) bool {
- *event = yaml_event_t{
- typ: yaml_SEQUENCE_START_EVENT,
- anchor: anchor,
- tag: tag,
- implicit: implicit,
- style: yaml_style_t(style),
- }
- return true
-}
-
-// Create SEQUENCE-END.
-func yaml_sequence_end_event_initialize(event *yaml_event_t) bool {
- *event = yaml_event_t{
- typ: yaml_SEQUENCE_END_EVENT,
- }
- return true
-}
-
-// Create MAPPING-START.
-func yaml_mapping_start_event_initialize(event *yaml_event_t, anchor, tag []byte, implicit bool, style yaml_mapping_style_t) bool {
- *event = yaml_event_t{
- typ: yaml_MAPPING_START_EVENT,
- anchor: anchor,
- tag: tag,
- implicit: implicit,
- style: yaml_style_t(style),
- }
- return true
-}
-
-// Create MAPPING-END.
-func yaml_mapping_end_event_initialize(event *yaml_event_t) bool {
- *event = yaml_event_t{
- typ: yaml_MAPPING_END_EVENT,
- }
- return true
-}
-
-// Destroy an event object.
-func yaml_event_delete(event *yaml_event_t) {
- *event = yaml_event_t{}
-}
-
-///*
-// * Create a document object.
-// */
-//
-//YAML_DECLARE(int)
-//yaml_document_initialize(document *yaml_document_t,
-// version_directive *yaml_version_directive_t,
-// tag_directives_start *yaml_tag_directive_t,
-// tag_directives_end *yaml_tag_directive_t,
-// start_implicit int, end_implicit int)
-//{
-// struct {
-// error yaml_error_type_t
-// } context
-// struct {
-// start *yaml_node_t
-// end *yaml_node_t
-// top *yaml_node_t
-// } nodes = { NULL, NULL, NULL }
-// version_directive_copy *yaml_version_directive_t = NULL
-// struct {
-// start *yaml_tag_directive_t
-// end *yaml_tag_directive_t
-// top *yaml_tag_directive_t
-// } tag_directives_copy = { NULL, NULL, NULL }
-// value yaml_tag_directive_t = { NULL, NULL }
-// mark yaml_mark_t = { 0, 0, 0 }
-//
-// assert(document) // Non-NULL document object is expected.
-// assert((tag_directives_start && tag_directives_end) ||
-// (tag_directives_start == tag_directives_end))
-// // Valid tag directives are expected.
-//
-// if (!STACK_INIT(&context, nodes, INITIAL_STACK_SIZE)) goto error
-//
-// if (version_directive) {
-// version_directive_copy = yaml_malloc(sizeof(yaml_version_directive_t))
-// if (!version_directive_copy) goto error
-// version_directive_copy.major = version_directive.major
-// version_directive_copy.minor = version_directive.minor
-// }
-//
-// if (tag_directives_start != tag_directives_end) {
-// tag_directive *yaml_tag_directive_t
-// if (!STACK_INIT(&context, tag_directives_copy, INITIAL_STACK_SIZE))
-// goto error
-// for (tag_directive = tag_directives_start
-// tag_directive != tag_directives_end; tag_directive ++) {
-// assert(tag_directive.handle)
-// assert(tag_directive.prefix)
-// if (!yaml_check_utf8(tag_directive.handle,
-// strlen((char *)tag_directive.handle)))
-// goto error
-// if (!yaml_check_utf8(tag_directive.prefix,
-// strlen((char *)tag_directive.prefix)))
-// goto error
-// value.handle = yaml_strdup(tag_directive.handle)
-// value.prefix = yaml_strdup(tag_directive.prefix)
-// if (!value.handle || !value.prefix) goto error
-// if (!PUSH(&context, tag_directives_copy, value))
-// goto error
-// value.handle = NULL
-// value.prefix = NULL
-// }
-// }
-//
-// DOCUMENT_INIT(*document, nodes.start, nodes.end, version_directive_copy,
-// tag_directives_copy.start, tag_directives_copy.top,
-// start_implicit, end_implicit, mark, mark)
-//
-// return 1
-//
-//error:
-// STACK_DEL(&context, nodes)
-// yaml_free(version_directive_copy)
-// while (!STACK_EMPTY(&context, tag_directives_copy)) {
-// value yaml_tag_directive_t = POP(&context, tag_directives_copy)
-// yaml_free(value.handle)
-// yaml_free(value.prefix)
-// }
-// STACK_DEL(&context, tag_directives_copy)
-// yaml_free(value.handle)
-// yaml_free(value.prefix)
-//
-// return 0
-//}
-//
-///*
-// * Destroy a document object.
-// */
-//
-//YAML_DECLARE(void)
-//yaml_document_delete(document *yaml_document_t)
-//{
-// struct {
-// error yaml_error_type_t
-// } context
-// tag_directive *yaml_tag_directive_t
-//
-// context.error = YAML_NO_ERROR // Eliminate a compliler warning.
-//
-// assert(document) // Non-NULL document object is expected.
-//
-// while (!STACK_EMPTY(&context, document.nodes)) {
-// node yaml_node_t = POP(&context, document.nodes)
-// yaml_free(node.tag)
-// switch (node.type) {
-// case YAML_SCALAR_NODE:
-// yaml_free(node.data.scalar.value)
-// break
-// case YAML_SEQUENCE_NODE:
-// STACK_DEL(&context, node.data.sequence.items)
-// break
-// case YAML_MAPPING_NODE:
-// STACK_DEL(&context, node.data.mapping.pairs)
-// break
-// default:
-// assert(0) // Should not happen.
-// }
-// }
-// STACK_DEL(&context, document.nodes)
-//
-// yaml_free(document.version_directive)
-// for (tag_directive = document.tag_directives.start
-// tag_directive != document.tag_directives.end
-// tag_directive++) {
-// yaml_free(tag_directive.handle)
-// yaml_free(tag_directive.prefix)
-// }
-// yaml_free(document.tag_directives.start)
-//
-// memset(document, 0, sizeof(yaml_document_t))
-//}
-//
-///**
-// * Get a document node.
-// */
-//
-//YAML_DECLARE(yaml_node_t *)
-//yaml_document_get_node(document *yaml_document_t, index int)
-//{
-// assert(document) // Non-NULL document object is expected.
-//
-// if (index > 0 && document.nodes.start + index <= document.nodes.top) {
-// return document.nodes.start + index - 1
-// }
-// return NULL
-//}
-//
-///**
-// * Get the root object.
-// */
-//
-//YAML_DECLARE(yaml_node_t *)
-//yaml_document_get_root_node(document *yaml_document_t)
-//{
-// assert(document) // Non-NULL document object is expected.
-//
-// if (document.nodes.top != document.nodes.start) {
-// return document.nodes.start
-// }
-// return NULL
-//}
-//
-///*
-// * Add a scalar node to a document.
-// */
-//
-//YAML_DECLARE(int)
-//yaml_document_add_scalar(document *yaml_document_t,
-// tag *yaml_char_t, value *yaml_char_t, length int,
-// style yaml_scalar_style_t)
-//{
-// struct {
-// error yaml_error_type_t
-// } context
-// mark yaml_mark_t = { 0, 0, 0 }
-// tag_copy *yaml_char_t = NULL
-// value_copy *yaml_char_t = NULL
-// node yaml_node_t
-//
-// assert(document) // Non-NULL document object is expected.
-// assert(value) // Non-NULL value is expected.
-//
-// if (!tag) {
-// tag = (yaml_char_t *)YAML_DEFAULT_SCALAR_TAG
-// }
-//
-// if (!yaml_check_utf8(tag, strlen((char *)tag))) goto error
-// tag_copy = yaml_strdup(tag)
-// if (!tag_copy) goto error
-//
-// if (length < 0) {
-// length = strlen((char *)value)
-// }
-//
-// if (!yaml_check_utf8(value, length)) goto error
-// value_copy = yaml_malloc(length+1)
-// if (!value_copy) goto error
-// memcpy(value_copy, value, length)
-// value_copy[length] = '\0'
-//
-// SCALAR_NODE_INIT(node, tag_copy, value_copy, length, style, mark, mark)
-// if (!PUSH(&context, document.nodes, node)) goto error
-//
-// return document.nodes.top - document.nodes.start
-//
-//error:
-// yaml_free(tag_copy)
-// yaml_free(value_copy)
-//
-// return 0
-//}
-//
-///*
-// * Add a sequence node to a document.
-// */
-//
-//YAML_DECLARE(int)
-//yaml_document_add_sequence(document *yaml_document_t,
-// tag *yaml_char_t, style yaml_sequence_style_t)
-//{
-// struct {
-// error yaml_error_type_t
-// } context
-// mark yaml_mark_t = { 0, 0, 0 }
-// tag_copy *yaml_char_t = NULL
-// struct {
-// start *yaml_node_item_t
-// end *yaml_node_item_t
-// top *yaml_node_item_t
-// } items = { NULL, NULL, NULL }
-// node yaml_node_t
-//
-// assert(document) // Non-NULL document object is expected.
-//
-// if (!tag) {
-// tag = (yaml_char_t *)YAML_DEFAULT_SEQUENCE_TAG
-// }
-//
-// if (!yaml_check_utf8(tag, strlen((char *)tag))) goto error
-// tag_copy = yaml_strdup(tag)
-// if (!tag_copy) goto error
-//
-// if (!STACK_INIT(&context, items, INITIAL_STACK_SIZE)) goto error
-//
-// SEQUENCE_NODE_INIT(node, tag_copy, items.start, items.end,
-// style, mark, mark)
-// if (!PUSH(&context, document.nodes, node)) goto error
-//
-// return document.nodes.top - document.nodes.start
-//
-//error:
-// STACK_DEL(&context, items)
-// yaml_free(tag_copy)
-//
-// return 0
-//}
-//
-///*
-// * Add a mapping node to a document.
-// */
-//
-//YAML_DECLARE(int)
-//yaml_document_add_mapping(document *yaml_document_t,
-// tag *yaml_char_t, style yaml_mapping_style_t)
-//{
-// struct {
-// error yaml_error_type_t
-// } context
-// mark yaml_mark_t = { 0, 0, 0 }