From 7de394d6abe11761e3672b22c1def23aff8324b2 Mon Sep 17 00:00:00 2001 From: Dan Kegel Date: Wed, 3 Feb 2010 06:04:55 -0800 Subject: [PATCH] reg.exe: Handle setting DWORD registry values. --- programs/reg/reg.c | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/programs/reg/reg.c b/programs/reg/reg.c index 07dbdbff367..f65a3c8bc93 100644 --- a/programs/reg/reg.c +++ b/programs/reg/reg.c @@ -124,6 +124,21 @@ static LPBYTE get_regdata(LPWSTR data, DWORD reg_type, WCHAR separator, DWORD *r lstrcpyW((LPWSTR)out_data,data); break; } + case REG_DWORD: + { + LPWSTR rest; + DWORD val; + val = strtolW(data, &rest, 0); + if (rest == data) { + static const WCHAR nonnumber[] = {'E','r','r','o','r',':',' ','/','d',' ','r','e','q','u','i','r','e','s',' ','n','u','m','b','e','r','.','\n',0}; + reg_printfW(nonnumber); + break; + } + *reg_count = sizeof(DWORD); + out_data = HeapAlloc(GetProcessHeap(),0,*reg_count); + ((LPDWORD)out_data)[0] = val; + break; + } default: { static const WCHAR unhandled[] = {'U','n','h','a','n','d','l','e','d',' ','T','y','p','e',' ','0','x','%','x',' ',' ','d','a','t','a',' ','%','s','\n',0};