Make apfl_string_builder_init easier to use
It was a bit silly that you've first had to declare a string builder variable and then pass a reference to that into the init function, which could not fail. Instead just return a ready to use string builder :)
This commit is contained in:
parent
b7015e7b13
commit
c18df0ab19
5 changed files with 13 additions and 17 deletions
|
|
@ -106,7 +106,7 @@ struct apfl_string_builder {
|
|||
size_t cap;
|
||||
};
|
||||
|
||||
void apfl_string_builder_init(struct apfl_allocator allocator, struct apfl_string_builder *);
|
||||
struct apfl_string_builder apfl_string_builder_init(struct apfl_allocator allocator);
|
||||
void apfl_string_builder_deinit(struct apfl_string_builder *);
|
||||
bool apfl_string_builder_append(struct apfl_string_builder *, struct apfl_string_view);
|
||||
bool apfl_string_builder_append_byte(struct apfl_string_builder *, char byte);
|
||||
|
|
|
|||
|
|
@ -208,8 +208,7 @@ apfl_error_print(struct apfl_error error, FILE *file)
|
|||
bool
|
||||
apfl_error_as_string(struct apfl_error error, struct apfl_allocator allocator, struct apfl_string *out)
|
||||
{
|
||||
struct apfl_string_builder builder;
|
||||
apfl_string_builder_init(allocator, &builder);
|
||||
struct apfl_string_builder builder = apfl_string_builder_init(allocator);
|
||||
TRY(format_error(apfl_format_string_writer(&builder), error));
|
||||
*out = apfl_string_builder_move_string(&builder);
|
||||
return true;
|
||||
|
|
|
|||
|
|
@ -66,8 +66,7 @@ file_get_contents(const char *filename, struct apfl_string *str, struct apfl_all
|
|||
return false;
|
||||
}
|
||||
|
||||
struct apfl_string_builder sb;
|
||||
apfl_string_builder_init(allocator, &sb);
|
||||
struct apfl_string_builder sb = apfl_string_builder_init(allocator);
|
||||
|
||||
char buf[BUFSIZE];
|
||||
while (!feof(f)) {
|
||||
|
|
@ -157,8 +156,7 @@ runtest(const char *filename)
|
|||
return T_ERR;
|
||||
}
|
||||
|
||||
struct apfl_string_builder output;
|
||||
apfl_string_builder_init(allocator, &output);
|
||||
struct apfl_string_builder output = apfl_string_builder_init(allocator);
|
||||
|
||||
apfl_ctx ctx = apfl_ctx_new((struct apfl_config) {
|
||||
.allocator = allocator,
|
||||
|
|
|
|||
|
|
@ -105,11 +105,13 @@ builder_reset(struct apfl_string_builder *builder)
|
|||
apfl_resizable_init((void **)&(builder->bytes), &(builder->len), &(builder->cap));
|
||||
}
|
||||
|
||||
void
|
||||
apfl_string_builder_init(struct apfl_allocator allocator, struct apfl_string_builder *builder)
|
||||
struct apfl_string_builder
|
||||
apfl_string_builder_init(struct apfl_allocator allocator)
|
||||
{
|
||||
builder->allocator = allocator;
|
||||
builder_reset(builder);
|
||||
struct apfl_string_builder builder;
|
||||
builder.allocator = allocator;
|
||||
builder_reset(&builder);
|
||||
return builder;
|
||||
}
|
||||
|
||||
void
|
||||
|
|
|
|||
|
|
@ -266,8 +266,7 @@ comment(apfl_tokenizer_ptr tokenizer)
|
|||
struct apfl_position pos = tokenizer->position;
|
||||
struct apfl_position last_pos;
|
||||
|
||||
struct apfl_string_builder text;
|
||||
apfl_string_builder_init(tokenizer->allocator, &text);
|
||||
struct apfl_string_builder text = apfl_string_builder_init(tokenizer->allocator);
|
||||
|
||||
for (;;) {
|
||||
last_pos = tokenizer->position;
|
||||
|
|
@ -591,8 +590,7 @@ inner_string(apfl_tokenizer_ptr tokenizer, struct apfl_string_builder *text)
|
|||
static enum apfl_parse_result
|
||||
string(apfl_tokenizer_ptr tokenizer)
|
||||
{
|
||||
struct apfl_string_builder text;
|
||||
apfl_string_builder_init(tokenizer->allocator, &text);
|
||||
struct apfl_string_builder text = apfl_string_builder_init(tokenizer->allocator);
|
||||
|
||||
enum apfl_parse_result out = inner_string(tokenizer, &text);
|
||||
|
||||
|
|
@ -737,8 +735,7 @@ maybe_name_inner(
|
|||
static enum apfl_parse_result
|
||||
maybe_name(apfl_tokenizer_ptr tokenizer, bool need, char first_byte)
|
||||
{
|
||||
struct apfl_string_builder text;
|
||||
apfl_string_builder_init(tokenizer->allocator, &text);
|
||||
struct apfl_string_builder text = apfl_string_builder_init(tokenizer->allocator);
|
||||
|
||||
enum apfl_parse_result out = maybe_name_inner(tokenizer, need, first_byte, &text);
|
||||
|
||||
|
|
|
|||
Loading…
Reference in a new issue