[ovs-dev] [PATCH RFC 1/2] Do not include trailing whitespace in hexdump

Simon Horman horms at verge.net.au
Wed May 15 08:10:48 UTC 2013


ds_put_hex_dump() will output a single trailing whitespace
in the case where its ascii parameter is false. Though somewhat
cosmetic this seems undesirable.

Signed-off-by: Simon Horman <horms at verge.net.au>

---

I noticed this when preparing another change to allow monitor
to output a hex-dump of packet data which may be used by
tests in the test suite.
---
 lib/dynamic-string.c | 10 +++++++---
 1 file changed, 7 insertions(+), 3 deletions(-)

diff --git a/lib/dynamic-string.c b/lib/dynamic-string.c
index ba9aa6d..ef55852 100644
--- a/lib/dynamic-string.c
+++ b/lib/dynamic-string.c
@@ -377,9 +377,13 @@ ds_put_hex_dump(struct ds *ds, const void *buf_, size_t size,
       ds_put_format(ds, "%08jx  ", (uintmax_t) ROUND_DOWN(ofs, per_line));
       for (i = 0; i < start; i++)
         ds_put_format(ds, "   ");
-      for (; i < end; i++)
-        ds_put_format(ds, "%02hhx%c",
-                buf[i - start], i == per_line / 2 - 1? '-' : ' ');
+      for (; i < end; i++) {
+        ds_put_format(ds, "%02hhx", buf[i - start]);
+        if (i == per_line / 2 - 1)
+            ds_put_char(ds, '-');
+        else if (ascii || i != end - 1)
+            ds_put_char(ds, ' ');
+      }
       if (ascii)
         {
           for (; i < per_line; i++)
-- 
1.8.2.1




More information about the dev mailing list