mirror of
https://github.com/rkd77/elinks.git
synced 2025-06-30 22:19:29 -04:00
Introduce add_to_dom_string() and turn init_dom_string() into its user
This commit is contained in:
parent
acb1f7e74d
commit
2f9c406ef1
@ -39,21 +39,28 @@ dom_string_ncasecmp(struct dom_string *string1, struct dom_string *string2, size
|
|||||||
set_dom_string(string1, (string2)->string, (string2)->length)
|
set_dom_string(string1, (string2)->string, (string2)->length)
|
||||||
|
|
||||||
static inline struct dom_string *
|
static inline struct dom_string *
|
||||||
init_dom_string(struct dom_string *string, unsigned char *str, size_t len)
|
add_to_dom_string(struct dom_string *string, unsigned char *str, size_t len)
|
||||||
{
|
{
|
||||||
string->string = mem_alloc(len + 1);
|
unsigned char *newstring;
|
||||||
if (!string->string)
|
|
||||||
|
newstring = mem_realloc(string->string, string->length + len + 1);
|
||||||
|
if (!newstring)
|
||||||
return NULL;
|
return NULL;
|
||||||
|
|
||||||
memcpy(string->string, str, len);
|
string->string = newstring;
|
||||||
string->string[len] = 0;
|
memcpy(string->string + string->length, str, len);
|
||||||
string->length = len;
|
string->length += len;
|
||||||
|
string->string[string->length] = 0;
|
||||||
|
|
||||||
return string;
|
return string;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#define init_dom_string(string, str, len) add_to_dom_string(string, str, len)
|
||||||
|
|
||||||
#define is_dom_string_set(str) ((str)->string && (str)->length)
|
#define is_dom_string_set(str) ((str)->string && (str)->length)
|
||||||
|
|
||||||
#define done_dom_string(str) mem_free((str)->string);
|
#define done_dom_string(str) \
|
||||||
|
do { mem_free_set(&(str)->string, NULL); (str)->length = 0; } while (0)
|
||||||
|
|
||||||
#define isquote(c) ((c) == '"' || (c) == '\'')
|
#define isquote(c) ((c) == '"' || (c) == '\'')
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user