[ghex: 1/2] Fix replacing bytes over a gap




commit 90b1104b0f594dd92dc58b2121c3a2416a2f7f7e
Author: Jordan Christiansen <xordspar0 gmail com>
Date:   Wed Sep 7 15:54:33 2022 +0000

    Fix replacing bytes over a gap

 src/hex-buffer-malloc.c | 14 ++------------
 1 file changed, 2 insertions(+), 12 deletions(-)
---
diff --git a/src/hex-buffer-malloc.c b/src/hex-buffer-malloc.c
index 46ad2f3..c660f1b 100644
--- a/src/hex-buffer-malloc.c
+++ b/src/hex-buffer-malloc.c
@@ -265,18 +265,6 @@ hex_buffer_malloc_set_data (HexBuffer *buf, gint64 offset, size_t len,
                return FALSE;
        }
 
-       i = 0;
-       ptr = &self->buffer[offset];
-
-       if (ptr >= self->gap_pos)
-               ptr += self->gap_size;
-
-       while (offset + i < self->payload_size && i < rep_len) {
-               if (ptr >= self->gap_pos && ptr < self->gap_pos + self->gap_size)
-                       ptr += self->gap_size;
-               i++;
-       }
-
        if (rep_len == len) {
                if (self->buffer + offset >= self->gap_pos)
                        offset += self->gap_size;
@@ -296,6 +284,8 @@ hex_buffer_malloc_set_data (HexBuffer *buf, gint64 offset, size_t len,
        ptr = &self->buffer[offset];
        i = 0;
        while (offset + i < self->buffer_size && i < len) {
+               if (ptr >= self->gap_pos && ptr < self->gap_pos + self->gap_size)
+                       ptr += self->gap_size;
                *ptr++ = *data++;
                i++;
        }


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]