From 33107723f067fdc6cdd9d028d5bf544357f85d6a Mon Sep 17 00:00:00 2001 From: Gregor Beck Date: Wed, 29 Sep 2010 15:06:05 +0200 Subject: [PATCH] s3-net: add command registry convert --- source3/utils/net_registry.c | 63 ++++++++++++++++++++++++++++++++++++ 1 file changed, 63 insertions(+) diff --git a/source3/utils/net_registry.c b/source3/utils/net_registry.c index 657a5617c4..f0db17a8bc 100644 --- a/source3/utils/net_registry.c +++ b/source3/utils/net_registry.c @@ -25,6 +25,7 @@ #include "include/g_lock.h" #include "registry/reg_import.h" #include "registry/reg_format.h" +#include /* * @@ -1021,6 +1022,60 @@ done: /**@}*/ /******************************************************************************/ +/** + * @defgroup net_registry_convert Convert + * @ingroup net_registry + * @{ + */ + +static int net_registry_convert(struct net_context *c, int argc, + const char **argv) +{ + int ret; + void* mem_ctx; + const char* in_opt = NULL; + const char* out_opt = NULL; + + if (argc < 2 || argc > 4|| c->display_usage) { + d_printf("%s\n%s", + "Usage:", + "net registry convert [in_opt] [out_opt]\n" + "net registry convert [out_opt]\n"); + d_printf("%s\n%s", + "Example:", + "net registry convert in.reg out.reg regedit4,enc=CP1252\n"); + return -1; + } + + mem_ctx = talloc_stackframe(); + + switch (argc ) { + case 2: + break; + case 3: + out_opt = argv[2]; + break; + case 4: + out_opt = argv[3]; + in_opt = argv[2]; + break; + default: + assert(false); + } + + + ret = reg_parse_file(argv[0], (struct reg_parse_callback*) + reg_format_file(mem_ctx, argv[1], out_opt), + in_opt); + + talloc_free(mem_ctx); + + return ret; +} +/**@}*/ + +/******************************************************************************/ + int net_registry(struct net_context *c, int argc, const char **argv) { int ret = -1; @@ -1138,6 +1193,14 @@ int net_registry(struct net_context *c, int argc, const char **argv) "net registry export\n" " Export .reg file" }, + { + "convert", + net_registry_convert, + NET_TRANSPORT_LOCAL, + "Convert .reg file", + "net registry convert\n" + " Convert .reg file" + }, { NULL, NULL, 0, NULL, NULL } }; -- 2.34.1