summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--source3/utils/regedit_hexedit.c6
-rw-r--r--source3/utils/regedit_hexedit.h2
2 files changed, 6 insertions, 2 deletions
diff --git a/source3/utils/regedit_hexedit.c b/source3/utils/regedit_hexedit.c
index c86feaddb0..42eee8f78a 100644
--- a/source3/utils/regedit_hexedit.c
+++ b/source3/utils/regedit_hexedit.c
@@ -23,7 +23,7 @@ static int hexedit_free(struct hexedit *buf)
}
struct hexedit *hexedit_new(TALLOC_CTX *ctx, WINDOW *parent, int nlines,
- int y, int x, size_t sz)
+ int y, int x, const void *data, size_t sz)
{
struct hexedit *buf;
@@ -39,6 +39,10 @@ struct hexedit *hexedit_new(TALLOC_CTX *ctx, WINDOW *parent, int nlines,
goto fail;
}
+ if (data) {
+ memcpy(buf->data, data, sz);
+ }
+
buf->len = sz;
buf->alloc_size = sz;
buf->win = derwin(parent, nlines, LINE_WIDTH, y, x);
diff --git a/source3/utils/regedit_hexedit.h b/source3/utils/regedit_hexedit.h
index 1a2db912be..bca8324d8d 100644
--- a/source3/utils/regedit_hexedit.h
+++ b/source3/utils/regedit_hexedit.h
@@ -41,7 +41,7 @@ struct hexedit {
};
struct hexedit *hexedit_new(TALLOC_CTX *ctx, WINDOW *parent, int nlines,
- int y, int x, size_t sz);
+ int y, int x, const void *data, size_t sz);
void hexedit_set_cursor(struct hexedit *buf);
void hexedit_refresh(struct hexedit *buf);
void hexedit_driver(struct hexedit *buf, int c);