[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[gnurl] 179/411: dynbuf: add Curl_dyn_vaddf
From: |
gnunet |
Subject: |
[gnurl] 179/411: dynbuf: add Curl_dyn_vaddf |
Date: |
Wed, 13 Jan 2021 01:19:54 +0100 |
This is an automated email from the git hooks/post-receive script.
nikita pushed a commit to branch master
in repository gnurl.
commit f74afa40f8b6b87ccf74a4ca70b5514a9a87e6f1
Author: Daniel Stenberg <daniel@haxx.se>
AuthorDate: Wed Sep 23 09:21:36 2020 +0200
dynbuf: add Curl_dyn_vaddf
Closes #6004
---
docs/DYNBUF.md | 6 ++++++
lib/dynbuf.c | 28 ++++++++++++++++++++--------
lib/dynbuf.h | 4 ++++
3 files changed, 30 insertions(+), 8 deletions(-)
diff --git a/docs/DYNBUF.md b/docs/DYNBUF.md
index 382c1365d..aa528ec3a 100644
--- a/docs/DYNBUF.md
+++ b/docs/DYNBUF.md
@@ -42,6 +42,12 @@ Append a C string to the end of the buffer.
Append a `printf()`-style string to the end of the buffer.
+## vaddf
+
+ CURLcode Curl_dyn_vaddf(struct dynbuf *s, const char *fmt, va_list ap);
+
+Append a `vprintf()`-style string to the end of the buffer.
+
## reset
void Curl_dyn_reset(struct dynbuf *s);
diff --git a/lib/dynbuf.c b/lib/dynbuf.c
index 2dace3428..b2465b888 100644
--- a/lib/dynbuf.c
+++ b/lib/dynbuf.c
@@ -177,24 +177,22 @@ CURLcode Curl_dyn_add(struct dynbuf *s, const char *str)
}
/*
- * Append a string printf()-style
+ * Append a string vprintf()-style
*/
-CURLcode Curl_dyn_addf(struct dynbuf *s, const char *fmt, ...)
+CURLcode Curl_dyn_vaddf(struct dynbuf *s, const char *fmt, va_list ap)
{
- va_list ap;
#ifdef BUILDING_LIBCURL
int rc;
- va_start(ap, fmt);
+ DEBUGASSERT(s);
+ DEBUGASSERT(s->init == DYNINIT);
+ DEBUGASSERT(!s->leng || s->bufr);
rc = Curl_dyn_vprintf(s, fmt, ap);
- va_end(ap);
if(!rc)
return CURLE_OK;
#else
char *str;
- va_start(ap, fmt);
str = vaprintf(fmt, ap); /* this allocs a new string to append */
- va_end(ap);
if(str) {
CURLcode result = dyn_nappend(s, (unsigned char *)str, strlen(str));
@@ -207,7 +205,21 @@ CURLcode Curl_dyn_addf(struct dynbuf *s, const char *fmt,
...)
return CURLE_OUT_OF_MEMORY;
}
-
+/*
+ * Append a string printf()-style
+ */
+CURLcode Curl_dyn_addf(struct dynbuf *s, const char *fmt, ...)
+{
+ CURLcode result;
+ va_list ap;
+ DEBUGASSERT(s);
+ DEBUGASSERT(s->init == DYNINIT);
+ DEBUGASSERT(!s->leng || s->bufr);
+ va_start(ap, fmt);
+ result = Curl_dyn_vaddf(s, fmt, ap);
+ va_end(ap);
+ return result;
+}
/*
* Returns a pointer to the buffer.
diff --git a/lib/dynbuf.h b/lib/dynbuf.h
index 94b5dbf68..90a4f6622 100644
--- a/lib/dynbuf.h
+++ b/lib/dynbuf.h
@@ -29,6 +29,7 @@
#define Curl_dyn_add(a,b) curlx_dyn_add(a,b)
#define Curl_dyn_addn(a,b,c) curlx_dyn_addn(a,b,c)
#define Curl_dyn_addf curlx_dyn_addf
+#define Curl_dyn_vaddf curlx_dyn_vaddf
#define Curl_dyn_free(a) curlx_dyn_free(a)
#define Curl_dyn_ptr(a) curlx_dyn_ptr(a)
#define Curl_dyn_uptr(a) curlx_dyn_uptr(a)
@@ -56,6 +57,8 @@ CURLcode Curl_dyn_add(struct dynbuf *s, const char *str)
WARN_UNUSED_RESULT;
CURLcode Curl_dyn_addf(struct dynbuf *s, const char *fmt, ...)
WARN_UNUSED_RESULT;
+CURLcode Curl_dyn_vaddf(struct dynbuf *s, const char *fmt, va_list ap)
+ WARN_UNUSED_RESULT;
void Curl_dyn_reset(struct dynbuf *s);
CURLcode Curl_dyn_tail(struct dynbuf *s, size_t trail);
char *Curl_dyn_ptr(const struct dynbuf *s);
@@ -80,4 +83,5 @@ int Curl_dyn_vprintf(struct dynbuf *dyn, const char *format,
va_list ap_save);
#define DYN_PROXY_CONNECT_HEADERS 16384
#define DYN_QLOG_NAME 1024
#define DYN_H1_TRAILER 4096
+#define DYN_PINGPPONG_CMD (64*1024)
#endif
--
To stop receiving notification emails like this one, please contact
gnunet@gnunet.org.
- [gnurl] 154/411: man pages: switch to https://example.com URLs, (continued)
- [gnurl] 154/411: man pages: switch to https://example.com URLs, gnunet, 2021/01/12
- [gnurl] 259/411: packages/OS400: make the source code-style compliant, gnunet, 2021/01/12
- [gnurl] 241/411: src/tool_filetime: disable -Wformat on mingw for this file, gnunet, 2021/01/12
- [gnurl] 132/411: curl: make file2string use dynbuf, gnunet, 2021/01/12
- [gnurl] 180/411: pingpong: use a dynbuf for the *_pp_sendf() function, gnunet, 2021/01/12
- [gnurl] 143/411: test3015: verify stdout "as text", gnunet, 2021/01/12
- [gnurl] 150/411: multi: align WinSock mask variables in Curl_multi_wait, gnunet, 2021/01/12
- [gnurl] 145/411: CI/azure: disable test 571 in the msys2 builds, gnunet, 2021/01/12
- [gnurl] 163/411: docs/RESOURCES: remove, gnunet, 2021/01/12
- [gnurl] 169/411: krb5: merged security.c and krb specific FTP functions in here, gnunet, 2021/01/12
- [gnurl] 179/411: dynbuf: add Curl_dyn_vaddf,
gnunet <=
- [gnurl] 137/411: vtls: deduplicate client certificates in ssl_config_data, gnunet, 2021/01/12
- [gnurl] 196/411: TODO: SSH over HTTPS proxy with more backends, gnunet, 2021/01/12
- [gnurl] 138/411: tool_urlglob: fix compiler warning "unreachable code", gnunet, 2021/01/12
- [gnurl] 189/411: ftp: make a 552 response return CURLE_REMOTE_DISK_FULL, gnunet, 2021/01/12
- [gnurl] 236/411: projects/build-wolfssl.bat: fix the copyright year range, gnunet, 2021/01/12
- [gnurl] 212/411: curl: make --libcurl show binary posts correctly, gnunet, 2021/01/12
- [gnurl] 190/411: RELEASE-NOTES: synced, gnunet, 2021/01/12
- [gnurl] 240/411: test122[12]: remove these two tests, gnunet, 2021/01/12
- [gnurl] 250/411: tool_operate: fix compiler warning when --libcurl is disabled, gnunet, 2021/01/12
- [gnurl] 218/411: ldap: reduce the amount of #ifdefs needed, gnunet, 2021/01/12