xref: /php-src/ext/dom/lexbor/lexbor/core/serialize.c (revision f0934090)
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