[libvirt] [PATCH 06/19] util: buffer: Don't treat missing truncation in virBufferTrim as usage error

Peter Krempa pkrempa at redhat.com
Thu Oct 24 13:56:24 UTC 2019


Usage errors in the virBuffer are hard to track anyways. Just trim
noting if the user requests the trimming string to be used without
providing it.

The change in the test proves that it's a noop now.

Signed-off-by: Peter Krempa <pkrempa at redhat.com>
---
 src/util/virbuffer.c | 6 +-----
 tests/virbuftest.c   | 7 +------
 2 files changed, 2 insertions(+), 11 deletions(-)

diff --git a/src/util/virbuffer.c b/src/util/virbuffer.c
index bcf9042573..9a74ca78bb 100644
--- a/src/util/virbuffer.c
+++ b/src/util/virbuffer.c
@@ -784,8 +784,6 @@ virBufferStrcat(virBufferPtr buf, ...)
  * if the current tail of the buffer matches @str; a non-negative @len
  * further limits how much of the tail is trimmed.  If @str is NULL, then
  * @len must be non-negative.
- *
- * Sets error to -1 (usage) if str is NULL and len is less than zero.
  */
 void
 virBufferTrim(virBufferPtr buf, const char *str, int len)
@@ -794,10 +792,8 @@ virBufferTrim(virBufferPtr buf, const char *str, int len)

     if (!buf || buf->error)
         return;
-    if (!str && len < 0) {
-        virBufferSetError(buf, -1);
+    if (!str && len < 0)
         return;
-    }

     if (len > 0 && len > buf->use)
         return;
diff --git a/tests/virbuftest.c b/tests/virbuftest.c
index 385f016174..8b8754adfa 100644
--- a/tests/virbuftest.c
+++ b/tests/virbuftest.c
@@ -163,6 +163,7 @@ static int testBufTrim(const void *data G_GNUC_UNUSED)
     virBufferTrim(buf, "a", 2);

     virBufferAddLit(buf, ",b,,");
+    virBufferTrim(buf, NULL, -1);
     virBufferTrim(buf, "b", -1);
     virBufferTrim(buf, "b,,", 1);
     virBufferTrim(buf, ",", -1);
@@ -178,12 +179,6 @@ static int testBufTrim(const void *data G_GNUC_UNUSED)
         goto cleanup;
     }

-    virBufferTrim(buf, NULL, -1);
-    if (virBufferError(buf) != -1) {
-        VIR_TEST_DEBUG("Usage error not flagged");
-        goto cleanup;
-    }
-
     ret = 0;

  cleanup:
-- 
2.21.0




More information about the libvir-list mailing list