summaryrefslogtreecommitdiff
path: root/source3/utils/regedit.c
diff options
context:
space:
mode:
authorC. Davis <cd.rattan@gmail.com>2012-08-19 20:02:51 -0700
committerMichael Adam <obnox@samba.org>2013-04-29 13:08:20 +0200
commit8508b411b2ff69f59aa133ebd97e489d7c6c1626 (patch)
treefda6aad7d8a4cc7c5a63ea7ce5eca79f7db4ed39 /source3/utils/regedit.c
parent8ea38ce970d7539c25d4da08065d6bfa999f3e96 (diff)
downloadsamba-8508b411b2ff69f59aa133ebd97e489d7c6c1626.tar.gz
samba-8508b411b2ff69f59aa133ebd97e489d7c6c1626.tar.bz2
samba-8508b411b2ff69f59aa133ebd97e489d7c6c1626.zip
regedit: Add an edit binary command.
Reviewed-by: Andreas Schneider <asn@samba.org> Reviewed-by: Michael Adam <obnox@samba.org>
Diffstat (limited to 'source3/utils/regedit.c')
-rw-r--r--source3/utils/regedit.c13
1 files changed, 10 insertions, 3 deletions
diff --git a/source3/utils/regedit.c b/source3/utils/regedit.c
index f4139d65b2..27d802b97e 100644
--- a/source3/utils/regedit.c
+++ b/source3/utils/regedit.c
@@ -132,7 +132,8 @@ static void print_help(struct regedit *regedit)
{
const char *khelp = "[n] New Key [s] New Subkey [d] Del Key "
"[LEFT] Ascend [RIGHT] Descend";
- const char *vhelp = "[n] New Value [d] Del Value [ENTER] Edit";
+ const char *vhelp = "[n] New Value [d] Del Value [ENTER] Edit "
+ "[b] Edit binary";
const char *msg = "KEYS";
const char *help = khelp;
const char *genhelp = "[TAB] Switch sections [q] Quit regedit "
@@ -335,6 +336,7 @@ static void handle_tree_input(struct regedit *regedit, int c)
static void handle_value_input(struct regedit *regedit, int c)
{
struct value_item *vitem;
+ bool binmode = false;
switch (c) {
case KEY_DOWN:
@@ -343,6 +345,10 @@ static void handle_value_input(struct regedit *regedit, int c)
case KEY_UP:
menu_driver(regedit->vl->menu, REQ_UP_ITEM);
break;
+ case 'b':
+ case 'B':
+ binmode = true;
+ /* Falthrough... */
case '\n':
case KEY_ENTER:
vitem = item_userptr(current_item(regedit->vl->menu));
@@ -350,7 +356,7 @@ static void handle_value_input(struct regedit *regedit, int c)
struct tree_node *node;
node = item_userptr(current_item(regedit->keys->menu));
dialog_edit_value(regedit, node->key, vitem->type,
- vitem);
+ vitem, binmode);
value_list_load(regedit->vl, node->key);
}
break;
@@ -363,7 +369,8 @@ static void handle_value_input(struct regedit *regedit, int c)
if (sel == DIALOG_OK) {
struct tree_node *node;
node = item_userptr(current_item(regedit->keys->menu));
- dialog_edit_value(regedit, node->key, new_type, NULL);
+ dialog_edit_value(regedit, node->key, new_type, NULL,
+ false);
value_list_load(regedit->vl, node->key);
}
break;