[libvirt] [PATCH 4/7] util: buf: Remove virBufferEscapeN

Peter Krempa pkrempa at redhat.com
Thu Feb 21 15:50:17 UTC 2019


The function was used only in the tests, remove it.

Signed-off-by: Peter Krempa <pkrempa at redhat.com>
---
 src/libvirt_private.syms |  1 -
 src/util/virbuffer.c     | 93 ----------------------------------------
 src/util/virbuffer.h     |  2 -
 tests/virbuftest.c       | 41 ------------------
 4 files changed, 137 deletions(-)

diff --git a/src/libvirt_private.syms b/src/libvirt_private.syms
index b720acdc93..aa1b2c77be 100644
--- a/src/libvirt_private.syms
+++ b/src/libvirt_private.syms
@@ -1488,7 +1488,6 @@ virBufferContentAndReset;
 virBufferCurrentContent;
 virBufferError;
 virBufferEscape;
-virBufferEscapeN;
 virBufferEscapeRegex;
 virBufferEscapeSexpr;
 virBufferEscapeShell;
diff --git a/src/util/virbuffer.c b/src/util/virbuffer.c
index 7399bdcdfe..12bdd13d39 100644
--- a/src/util/virbuffer.c
+++ b/src/util/virbuffer.c
@@ -643,99 +643,6 @@ virBufferEscape(virBufferPtr buf, char escape, const char *toescape,
 }


-struct virBufferEscapePair {
-    char escape;
-    char *toescape;
-};
-
-
-/**
- * virBufferEscapeN:
- * @buf: the buffer to append to
- * @format: a printf like format string but with only one %s parameter
- * @str: the string argument which needs to be escaped
- * @...: the variable list of escape pairs
- *
- * The variable list of arguments @... must be composed of
- * 'char escape, char *toescape' pairs followed by NULL.
- *
- * This has the same functionality as virBufferEscape with the extension
- * that allows to specify multiple pairs of chars that needs to be escaped.
- */
-void
-virBufferEscapeN(virBufferPtr buf,
-                 const char *format,
-                 const char *str,
-                 ...)
-{
-    int len;
-    size_t i;
-    VIR_AUTOFREE(char *) escaped = NULL;
-    char *out;
-    const char *cur;
-    struct virBufferEscapePair escapeItem;
-    struct virBufferEscapePair *escapeList = NULL;
-    size_t nescapeList = 0;
-    va_list ap;
-
-    if ((format == NULL) || (buf == NULL) || (str == NULL))
-        return;
-
-    if (buf->error)
-        return;
-
-    len = strlen(str);
-
-    va_start(ap, str);
-
-    while ((escapeItem.escape = va_arg(ap, int))) {
-        if (!(escapeItem.toescape = va_arg(ap, char *))) {
-            virBufferSetError(buf, errno);
-            goto cleanup;
-        }
-
-        if (strcspn(str, escapeItem.toescape) == len)
-            continue;
-
-        if (VIR_APPEND_ELEMENT_QUIET(escapeList, nescapeList, escapeItem) < 0) {
-            virBufferSetError(buf, errno);
-            goto cleanup;
-        }
-    }
-
-    if (nescapeList == 0) {
-        virBufferAsprintf(buf, format, str);
-        goto cleanup;
-    }
-
-    if (xalloc_oversized(2, len) ||
-        VIR_ALLOC_N_QUIET(escaped, 2 * len + 1) < 0) {
-        virBufferSetError(buf, errno);
-        goto cleanup;
-    }
-
-    cur = str;
-    out = escaped;
-    while (*cur != 0) {
-        for (i = 0; i < nescapeList; i++) {
-            if (strchr(escapeList[i].toescape, *cur)) {
-                *out++ = escapeList[i].escape;
-                break;
-            }
-        }
-        *out++ = *cur;
-        cur++;
-    }
-    *out = 0;
-
-    virBufferAsprintf(buf, format, escaped);
-
- cleanup:
-    va_end(ap);
-    VIR_FREE(escapeList);
-}
-
-
 /**
  * virBufferURIEncodeString:
  * @buf: the buffer to append to
diff --git a/src/util/virbuffer.h b/src/util/virbuffer.h
index 1c8e182064..7e4e7645df 100644
--- a/src/util/virbuffer.h
+++ b/src/util/virbuffer.h
@@ -84,8 +84,6 @@ void virBufferStrcatVArgs(virBufferPtr buf, va_list ap);

 void virBufferEscape(virBufferPtr buf, char escape, const char *toescape,
                      const char *format, const char *str);
-void virBufferEscapeN(virBufferPtr buf, const char *format,
-                      const char *str, ...);
 void virBufferEscapeString(virBufferPtr buf, const char *format,
                            const char *str);
 void virBufferEscapeSexpr(virBufferPtr buf, const char *format,
diff --git a/tests/virbuftest.c b/tests/virbuftest.c
index 547438c646..bdb0a5e934 100644
--- a/tests/virbuftest.c
+++ b/tests/virbuftest.c
@@ -372,35 +372,6 @@ testBufEscapeStr(const void *opaque ATTRIBUTE_UNUSED)
 }


-static int
-testBufEscapeN(const void *opaque)
-{
-    const struct testBufAddStrData *data = opaque;
-    virBuffer buf = VIR_BUFFER_INITIALIZER;
-    char *actual;
-    int ret = -1;
-
-    virBufferEscapeN(&buf, "%s", data->data, '\\', "=", ',', ",", NULL);
-
-    if (!(actual = virBufferContentAndReset(&buf))) {
-        VIR_TEST_DEBUG("testBufEscapeN: buf is empty");
-        goto cleanup;
-    }
-
-    if (STRNEQ_NULLABLE(actual, data->expect)) {
-        VIR_TEST_DEBUG("testBufEscapeN: Strings don't match:\n");
-        virTestDifference(stderr, data->expect, actual);
-        goto cleanup;
-    }
-
-    ret = 0;
-
- cleanup:
-    VIR_FREE(actual);
-    return ret;
-}
-
-
 static int
 testBufEscapeRegex(const void *opaque)
 {
@@ -506,18 +477,6 @@ mymain(void)
     DO_TEST_ESCAPE("\x01\x01\x02\x03\x05\x08",
                    "<c>\n  <el></el>\n</c>");

-#define DO_TEST_ESCAPEN(data, expect) \
-    do { \
-        struct testBufAddStrData info = { data, expect }; \
-        if (virTestRun("Buf: EscapeN", testBufEscapeN, &info) < 0) \
-            ret = -1; \
-    } while (0)
-
-    DO_TEST_ESCAPEN("noescape", "noescape");
-    DO_TEST_ESCAPEN("comma,escape", "comma,,escape");
-    DO_TEST_ESCAPEN("equal=escape", "equal\\=escape");
-    DO_TEST_ESCAPEN("comma,equal=escape", "comma,,equal\\=escape");
-
 #define DO_TEST_ESCAPE_REGEX(data, expect) \
     do { \
         struct testBufAddStrData info = { data, expect }; \
-- 
2.20.1




More information about the libvir-list mailing list