1 /*
2 * Copyright (C) 2021 Alexander Borisov
3 *
4 * Author: Alexander Borisov <borisov@lexbor.com>
5 */
6
7 #include "lexbor/core/serialize.h"
8 #include "lexbor/core/str.h"
9
10
11 lxb_status_t
lexbor_serialize_length_cb(const lxb_char_t * data,size_t length,void * ctx)12 lexbor_serialize_length_cb(const lxb_char_t *data, size_t length, void *ctx)
13 {
14 *((size_t *) ctx) += length;
15 return LXB_STATUS_OK;
16 }
17
18 lxb_status_t
lexbor_serialize_copy_cb(const lxb_char_t * data,size_t length,void * ctx)19 lexbor_serialize_copy_cb(const lxb_char_t *data, size_t length, void *ctx)
20 {
21 lexbor_str_t *str = ctx;
22
23 memcpy(str->data + str->length, data, length);
24 str->length += length;
25
26 return LXB_STATUS_OK;
27 }
28