[PATCH 1/2] regedit: Make "Unknown Type" translatable

Hugh McMaster hugh.mcmaster at outlook.com
Thu Mar 30 07:11:42 CDT 2017


Signed-off-by: Hugh McMaster <hugh.mcmaster at outlook.com>
---
 programs/regedit/regedit.rc |  1 +
 programs/regedit/regproc.c  | 12 +++++++++---
 programs/regedit/resource.h |  1 +
 3 files changed, 11 insertions(+), 3 deletions(-)

diff --git a/programs/regedit/regedit.rc b/programs/regedit/regedit.rc
index 1cd8381..1d9b6cb 100644
--- a/programs/regedit/regedit.rc
+++ b/programs/regedit/regedit.rc
@@ -393,6 +393,7 @@ STRINGTABLE
     STRING_INCORRECT_REG_CLASS, "regedit: Incorrect registry class specification in '%1'.\n"
     STRING_REG_KEY_NOT_FOUND, "regedit: Unable to export '%1'. The specified registry key was not found.\n"
     STRING_DELETE_REG_CLASS_FAILED, "regedit: Unable to delete the registry class '%1'.\n"
+    STRING_UNKNOWN_TYPE, "Unknown Type"
 }
 
 /* define language neutral resources */
diff --git a/programs/regedit/regproc.c b/programs/regedit/regproc.c
index 751a3a5..131149f 100644
--- a/programs/regedit/regproc.c
+++ b/programs/regedit/regproc.c
@@ -345,7 +345,6 @@ static const WCHAR type_dword[] = {'R','E','G','_','D','W','O','R','D',0};
 static const WCHAR type_dword_le[] = {'R','E','G','_','D','W','O','R','D','_','L','I','T','T','L','E','_','E','N','D','I','A','N',0};
 static const WCHAR type_dword_be[] = {'R','E','G','_','D','W','O','R','D','_','B','I','G','_','E','N','D','I','A','N',0};
 static const WCHAR type_multi_sz[] = {'R','E','G','_','M','U','L','T','I','_','S','Z',0};
-static const WCHAR unknown_type[] = {'U','n','k','n','o','w','n',' ','T','y','p','e',0};
 
 static const struct
 {
@@ -362,7 +361,6 @@ type_rels[] =
     {REG_DWORD_LITTLE_ENDIAN, type_dword_le},
     {REG_DWORD_BIG_ENDIAN, type_dword_be},
     {REG_MULTI_SZ, type_multi_sz},
-    {REG_UNKNOWN_TYPE, unknown_type}
 };
 
 static const WCHAR *reg_type_to_wchar(DWORD type)
@@ -437,7 +435,15 @@ static LONG setValue(WCHAR* val_name, WCHAR* val_data, BOOL is_unicode)
     }
     else                                /* unknown format */
     {
-        output_message(STRING_UNKNOWN_DATA_FORMAT, reg_type_to_wchar(dwDataType));
+        if (dwDataType == REG_UNKNOWN_TYPE)
+        {
+            WCHAR buf[32];
+            LoadStringW(GetModuleHandleW(NULL), STRING_UNKNOWN_TYPE, buf, ARRAY_SIZE(buf));
+            output_message(STRING_UNKNOWN_DATA_FORMAT, buf);
+        }
+        else
+            output_message(STRING_UNKNOWN_DATA_FORMAT, reg_type_to_wchar(dwDataType));
+
         return ERROR_INVALID_DATA;
     }
 
diff --git a/programs/regedit/resource.h b/programs/regedit/resource.h
index 996cf76..295d9b4 100644
--- a/programs/regedit/resource.h
+++ b/programs/regedit/resource.h
@@ -194,3 +194,4 @@
 #define STRING_INCORRECT_REG_CLASS      3020
 #define STRING_REG_KEY_NOT_FOUND        3021
 #define STRING_DELETE_REG_CLASS_FAILED  3022
+#define STRING_UNKNOWN_TYPE             3023
-- 
2.7.4




More information about the wine-patches mailing list