aboutsummaryrefslogtreecommitdiff
path: root/dynstr.c
diff options
context:
space:
mode:
authorXaviDCR92 <xavi.dcr@tutanota.com>2020-03-21 09:54:04 +0100
committerXaviDCR92 <xavi.dcr@tutanota.com>2020-03-21 09:54:04 +0100
commit35497efab9700ba386fa2e5bdc1a4f654ce36541 (patch)
tree9109f260e2b421b7f6912a5945bcd540ea1318b5 /dynstr.c
parentf0bf3175abd5c6f869807236c97d6fc4f181e16d (diff)
parent92409d275fe3c496535c1c06886100537ca0ab4f (diff)
downloaddynstr-35497efab9700ba386fa2e5bdc1a4f654ce36541.tar.gz
Merge branch 'master' of https://github.com/XaviDCR92/dynstr
Diffstat (limited to 'dynstr.c')
-rw-r--r--dynstr.c47
1 files changed, 25 insertions, 22 deletions
diff --git a/dynstr.c b/dynstr.c
index 81d9a77..8779fbf 100644
--- a/dynstr.c
+++ b/dynstr.c
@@ -31,31 +31,34 @@ int dynstr_append(struct dynstr *const d, const char *const format, ...)
va_list ap;
va_start(ap, format);
- const size_t src_len = vsnprintf(NULL, 0, format, ap);
- size_t new_len;
- va_end(ap);
- if (!d->str)
{
- new_len = src_len + 1;
- d->str = malloc(new_len * sizeof *d->str);
- }
- else
- {
- new_len = d->len + src_len + 1;
- d->str = realloc(d->str, new_len * sizeof *d->str);
- }
-
- if (d->str)
- {
- va_start(ap, format);
- vsprintf(d->str + d->len, format, ap);
+ const size_t src_len = vsnprintf(NULL, 0, format, ap);
+ size_t new_len;
va_end(ap);
- d->len += src_len;
- }
- else
- {
- return 1;
+
+ if (!d->str)
+ {
+ new_len = src_len + 1;
+ d->str = malloc(new_len * sizeof *d->str);
+ }
+ else
+ {
+ new_len = d->len + src_len + 1;
+ d->str = realloc(d->str, new_len * sizeof *d->str);
+ }
+
+ if (d->str)
+ {
+ va_start(ap, format);
+ vsprintf(d->str + d->len, format, ap);
+ va_end(ap);
+ d->len += src_len;
+ }
+ else
+ {
+ return 1;
+ }
}
return 0;