Wine-Devel
By thread
wine-devel@list.winehq.org
By month
Messages by month
- ----- 2026 -----
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2025 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2024 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2023 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2022 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2021 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2020 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2019 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2018 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2017 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2016 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2015 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2014 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2013 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2012 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2011 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2010 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2009 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2008 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2007 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2006 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2005 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2004 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2003 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2002 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2001 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
June 2022
- 68 participants
- 3274 messages
Re: [PATCH v4 0/1] MR306: reg: Add REG_QWORD support to 'add'. - approved
by Alexandre Julliard (@julliard)
This merge request was approved by Alexandre Julliard.
--
https://gitlab.winehq.org/wine/wine/-/merge_requests/306
June 27, 2022
[PATCH v4 1/1] reg: Add REG_QWORD support to 'add'.
by Nikolay Sivov
From: Nikolay Sivov <nsivov(a)codeweavers.com>
Signed-off-by: Nikolay Sivov <nsivov(a)codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard(a)winehq.org>
---
po/ar.po | 2 +-
po/ast.po | 2 +-
po/bg.po | 2 +-
po/ca.po | 52 +++++++++++++++++++++-
po/cs.po | 2 +-
po/da.po | 2 +-
po/de.po | 52 +++++++++++++++++++++-
po/el.po | 2 +-
po/en.po | 4 +-
po/en_US.po | 4 +-
po/eo.po | 2 +-
po/es.po | 2 +-
po/fa.po | 2 +-
po/fi.po | 52 +++++++++++++++++++++-
po/fr.po | 52 +++++++++++++++++++++-
po/he.po | 2 +-
po/hi.po | 2 +-
po/hr.po | 2 +-
po/hu.po | 2 +-
po/it.po | 2 +-
po/ja.po | 52 +++++++++++++++++++++-
po/ko.po | 52 +++++++++++++++++++++-
po/lt.po | 52 +++++++++++++++++++++-
po/ml.po | 2 +-
po/nb_NO.po | 2 +-
po/nl.po | 52 +++++++++++++++++++++-
po/or.po | 2 +-
po/pa.po | 2 +-
po/pl.po | 52 +++++++++++++++++++++-
po/pt_BR.po | 52 +++++++++++++++++++++-
po/pt_PT.po | 2 +-
po/rm.po | 2 +-
po/ro.po | 2 +-
po/ru.po | 2 +-
po/si.po | 2 +-
po/sk.po | 2 +-
po/sl.po | 2 +-
po/sr_RS(a)cyrillic.po | 2 +-
po/sr_RS(a)latin.po | 2 +-
po/sv.po | 2 +-
po/ta.po | 2 +-
po/te.po | 2 +-
po/th.po | 2 +-
po/tr.po | 2 +-
po/uk.po | 2 +-
po/wa.po | 2 +-
po/wine.pot | 2 +-
po/zh_CN.po | 52 +++++++++++++++++++++-
po/zh_TW.po | 52 +++++++++++++++++++++-
programs/reg/add.c | 16 +++++++
programs/reg/reg.c | 1 +
programs/reg/reg.h | 2 +-
programs/reg/reg.rc | 2 +-
programs/reg/tests/add.c | 95 ++++++++++++++++++++++++++++++++++++++++
54 files changed, 765 insertions(+), 53 deletions(-)
diff --git a/po/ar.po b/po/ar.po
index bdadf3b05e7..264377331e9 100644
--- a/po/ar.po
+++ b/po/ar.po
@@ -17183,7 +17183,7 @@ msgid ""
" <type> must be one of the following:\n"
"\n"
" REG_SZ | REG_MULTI_SZ | REG_EXPAND_SZ\n"
-" REG_DWORD | REG_BINARY | REG_NONE\n"
+" REG_DWORD | REG_QWORD | REG_BINARY | REG_NONE\n"
"\n"
" If [/t] is not specified, the default data type is REG_SZ.\n"
"\n"
diff --git a/po/ast.po b/po/ast.po
index 7ffab61e430..83d5acdf1a3 100644
--- a/po/ast.po
+++ b/po/ast.po
@@ -15985,7 +15985,7 @@ msgid ""
" <type> must be one of the following:\n"
"\n"
" REG_SZ | REG_MULTI_SZ | REG_EXPAND_SZ\n"
-" REG_DWORD | REG_BINARY | REG_NONE\n"
+" REG_DWORD | REG_QWORD | REG_BINARY | REG_NONE\n"
"\n"
" If [/t] is not specified, the default data type is REG_SZ.\n"
"\n"
diff --git a/po/bg.po b/po/bg.po
index 18a296ecdc6..6765825b3a6 100644
--- a/po/bg.po
+++ b/po/bg.po
@@ -15918,7 +15918,7 @@ msgid ""
" <type> must be one of the following:\n"
"\n"
" REG_SZ | REG_MULTI_SZ | REG_EXPAND_SZ\n"
-" REG_DWORD | REG_BINARY | REG_NONE\n"
+" REG_DWORD | REG_QWORD | REG_BINARY | REG_NONE\n"
"\n"
" If [/t] is not specified, the default data type is REG_SZ.\n"
"\n"
diff --git a/po/ca.po b/po/ca.po
index 73f347c5d93..51a1fa75255 100644
--- a/po/ca.po
+++ b/po/ca.po
@@ -15958,6 +15958,56 @@ msgstr ""
"\n"
#: programs/reg/reg.rc:67
+#, fuzzy
+#| msgid ""
+#| "REG ADD <key> [/v value_name | /ve] [/t type] [/s separator] [/d data] [/"
+#| "f]\n"
+#| "\n"
+#| " Adds a key to the registry or adds a new value to a given registry "
+#| "key.\n"
+#| "\n"
+#| " <key>\n"
+#| " The registry key to add or, if either [/v] or [/ve] is specified,\n"
+#| " the key in which to add the new registry data.\n"
+#| "\n"
+#| " Format: ROOT\\Subkey\n"
+#| "\n"
+#| " ROOT: A predefined registry key. This must be one of the following:\n"
+#| "\n"
+#| " HKEY_LOCAL_MACHINE | HKLM\n"
+#| " HKEY_CURRENT_USER | HKCU\n"
+#| " HKEY_CLASSES_ROOT | HKCR\n"
+#| " HKEY_USERS | HKU\n"
+#| " HKEY_CURRENT_CONFIG | HKCC\n"
+#| "\n"
+#| " Subkey: The full path to a registry key under a given ROOT key.\n"
+#| "\n"
+#| " /v <value_name>\n"
+#| " The name of the registry value to add.\n"
+#| "\n"
+#| " /ve\n"
+#| " Add an unnamed registry value. This option modifies the (Default)\n"
+#| " registry value.\n"
+#| "\n"
+#| " /t <type>\n"
+#| " The type of data to add to the registry. If [/t] is specified,\n"
+#| " <type> must be one of the following:\n"
+#| "\n"
+#| " REG_SZ | REG_MULTI_SZ | REG_EXPAND_SZ\n"
+#| " REG_DWORD | REG_BINARY | REG_NONE\n"
+#| "\n"
+#| " If [/t] is not specified, the default data type is REG_SZ.\n"
+#| "\n"
+#| " /s <separator>\n"
+#| " The character used to separate strings in REG_MULTI_SZ data.\n"
+#| " If [/s] is not specified, the default separator is \\0.\n"
+#| "\n"
+#| " /d <data>\n"
+#| " The data to add to the new registry value.\n"
+#| "\n"
+#| " /f\n"
+#| " Modify the registry without prompting for confirmation.\n"
+#| "\n"
msgid ""
"REG ADD <key> [/v value_name | /ve] [/t type] [/s separator] [/d data] [/f]\n"
"\n"
@@ -15991,7 +16041,7 @@ msgid ""
" <type> must be one of the following:\n"
"\n"
" REG_SZ | REG_MULTI_SZ | REG_EXPAND_SZ\n"
-" REG_DWORD | REG_BINARY | REG_NONE\n"
+" REG_DWORD | REG_QWORD | REG_BINARY | REG_NONE\n"
"\n"
" If [/t] is not specified, the default data type is REG_SZ.\n"
"\n"
diff --git a/po/cs.po b/po/cs.po
index f24e12c818b..5f705610854 100644
--- a/po/cs.po
+++ b/po/cs.po
@@ -16684,7 +16684,7 @@ msgid ""
" <type> must be one of the following:\n"
"\n"
" REG_SZ | REG_MULTI_SZ | REG_EXPAND_SZ\n"
-" REG_DWORD | REG_BINARY | REG_NONE\n"
+" REG_DWORD | REG_QWORD | REG_BINARY | REG_NONE\n"
"\n"
" If [/t] is not specified, the default data type is REG_SZ.\n"
"\n"
diff --git a/po/da.po b/po/da.po
index a3c33fb8aba..799ea7c8ac4 100644
--- a/po/da.po
+++ b/po/da.po
@@ -17143,7 +17143,7 @@ msgid ""
" <type> must be one of the following:\n"
"\n"
" REG_SZ | REG_MULTI_SZ | REG_EXPAND_SZ\n"
-" REG_DWORD | REG_BINARY | REG_NONE\n"
+" REG_DWORD | REG_QWORD | REG_BINARY | REG_NONE\n"
"\n"
" If [/t] is not specified, the default data type is REG_SZ.\n"
"\n"
diff --git a/po/de.po b/po/de.po
index 87432afb703..9c989dc4bc0 100644
--- a/po/de.po
+++ b/po/de.po
@@ -15928,6 +15928,56 @@ msgstr ""
"\n"
#: programs/reg/reg.rc:67
+#, fuzzy
+#| msgid ""
+#| "REG ADD <key> [/v value_name | /ve] [/t type] [/s separator] [/d data] [/"
+#| "f]\n"
+#| "\n"
+#| " Adds a key to the registry or adds a new value to a given registry "
+#| "key.\n"
+#| "\n"
+#| " <key>\n"
+#| " The registry key to add or, if either [/v] or [/ve] is specified,\n"
+#| " the key in which to add the new registry data.\n"
+#| "\n"
+#| " Format: ROOT\\Subkey\n"
+#| "\n"
+#| " ROOT: A predefined registry key. This must be one of the following:\n"
+#| "\n"
+#| " HKEY_LOCAL_MACHINE | HKLM\n"
+#| " HKEY_CURRENT_USER | HKCU\n"
+#| " HKEY_CLASSES_ROOT | HKCR\n"
+#| " HKEY_USERS | HKU\n"
+#| " HKEY_CURRENT_CONFIG | HKCC\n"
+#| "\n"
+#| " Subkey: The full path to a registry key under a given ROOT key.\n"
+#| "\n"
+#| " /v <value_name>\n"
+#| " The name of the registry value to add.\n"
+#| "\n"
+#| " /ve\n"
+#| " Add an unnamed registry value. This option modifies the (Default)\n"
+#| " registry value.\n"
+#| "\n"
+#| " /t <type>\n"
+#| " The type of data to add to the registry. If [/t] is specified,\n"
+#| " <type> must be one of the following:\n"
+#| "\n"
+#| " REG_SZ | REG_MULTI_SZ | REG_EXPAND_SZ\n"
+#| " REG_DWORD | REG_BINARY | REG_NONE\n"
+#| "\n"
+#| " If [/t] is not specified, the default data type is REG_SZ.\n"
+#| "\n"
+#| " /s <separator>\n"
+#| " The character used to separate strings in REG_MULTI_SZ data.\n"
+#| " If [/s] is not specified, the default separator is \\0.\n"
+#| "\n"
+#| " /d <data>\n"
+#| " The data to add to the new registry value.\n"
+#| "\n"
+#| " /f\n"
+#| " Modify the registry without prompting for confirmation.\n"
+#| "\n"
msgid ""
"REG ADD <key> [/v value_name | /ve] [/t type] [/s separator] [/d data] [/f]\n"
"\n"
@@ -15961,7 +16011,7 @@ msgid ""
" <type> must be one of the following:\n"
"\n"
" REG_SZ | REG_MULTI_SZ | REG_EXPAND_SZ\n"
-" REG_DWORD | REG_BINARY | REG_NONE\n"
+" REG_DWORD | REG_QWORD | REG_BINARY | REG_NONE\n"
"\n"
" If [/t] is not specified, the default data type is REG_SZ.\n"
"\n"
diff --git a/po/el.po b/po/el.po
index a4fcf4fa8d4..e1b43d7d051 100644
--- a/po/el.po
+++ b/po/el.po
@@ -15636,7 +15636,7 @@ msgid ""
" <type> must be one of the following:\n"
"\n"
" REG_SZ | REG_MULTI_SZ | REG_EXPAND_SZ\n"
-" REG_DWORD | REG_BINARY | REG_NONE\n"
+" REG_DWORD | REG_QWORD | REG_BINARY | REG_NONE\n"
"\n"
" If [/t] is not specified, the default data type is REG_SZ.\n"
"\n"
diff --git a/po/en.po b/po/en.po
index aef844cd5fa..d9d2e133e22 100644
--- a/po/en.po
+++ b/po/en.po
@@ -15877,7 +15877,7 @@ msgid ""
" <type> must be one of the following:\n"
"\n"
" REG_SZ | REG_MULTI_SZ | REG_EXPAND_SZ\n"
-" REG_DWORD | REG_BINARY | REG_NONE\n"
+" REG_DWORD | REG_QWORD | REG_BINARY | REG_NONE\n"
"\n"
" If [/t] is not specified, the default data type is REG_SZ.\n"
"\n"
@@ -15924,7 +15924,7 @@ msgstr ""
" <type> must be one of the following:\n"
"\n"
" REG_SZ | REG_MULTI_SZ | REG_EXPAND_SZ\n"
-" REG_DWORD | REG_BINARY | REG_NONE\n"
+" REG_DWORD | REG_QWORD | REG_BINARY | REG_NONE\n"
"\n"
" If [/t] is not specified, the default data type is REG_SZ.\n"
"\n"
diff --git a/po/en_US.po b/po/en_US.po
index 1176981eb03..7da2795dc09 100644
--- a/po/en_US.po
+++ b/po/en_US.po
@@ -15877,7 +15877,7 @@ msgid ""
" <type> must be one of the following:\n"
"\n"
" REG_SZ | REG_MULTI_SZ | REG_EXPAND_SZ\n"
-" REG_DWORD | REG_BINARY | REG_NONE\n"
+" REG_DWORD | REG_QWORD | REG_BINARY | REG_NONE\n"
"\n"
" If [/t] is not specified, the default data type is REG_SZ.\n"
"\n"
@@ -15924,7 +15924,7 @@ msgstr ""
" <type> must be one of the following:\n"
"\n"
" REG_SZ | REG_MULTI_SZ | REG_EXPAND_SZ\n"
-" REG_DWORD | REG_BINARY | REG_NONE\n"
+" REG_DWORD | REG_QWORD | REG_BINARY | REG_NONE\n"
"\n"
" If [/t] is not specified, the default data type is REG_SZ.\n"
"\n"
diff --git a/po/eo.po b/po/eo.po
index 546b99d4e86..fef398be404 100644
--- a/po/eo.po
+++ b/po/eo.po
@@ -16242,7 +16242,7 @@ msgid ""
" <type> must be one of the following:\n"
"\n"
" REG_SZ | REG_MULTI_SZ | REG_EXPAND_SZ\n"
-" REG_DWORD | REG_BINARY | REG_NONE\n"
+" REG_DWORD | REG_QWORD | REG_BINARY | REG_NONE\n"
"\n"
" If [/t] is not specified, the default data type is REG_SZ.\n"
"\n"
diff --git a/po/es.po b/po/es.po
index 230e2ba4c4d..c5948a30a94 100644
--- a/po/es.po
+++ b/po/es.po
@@ -16554,7 +16554,7 @@ msgid ""
" <type> must be one of the following:\n"
"\n"
" REG_SZ | REG_MULTI_SZ | REG_EXPAND_SZ\n"
-" REG_DWORD | REG_BINARY | REG_NONE\n"
+" REG_DWORD | REG_QWORD | REG_BINARY | REG_NONE\n"
"\n"
" If [/t] is not specified, the default data type is REG_SZ.\n"
"\n"
diff --git a/po/fa.po b/po/fa.po
index a39c32fb800..b2792cd709b 100644
--- a/po/fa.po
+++ b/po/fa.po
@@ -15816,7 +15816,7 @@ msgid ""
" <type> must be one of the following:\n"
"\n"
" REG_SZ | REG_MULTI_SZ | REG_EXPAND_SZ\n"
-" REG_DWORD | REG_BINARY | REG_NONE\n"
+" REG_DWORD | REG_QWORD | REG_BINARY | REG_NONE\n"
"\n"
" If [/t] is not specified, the default data type is REG_SZ.\n"
"\n"
diff --git a/po/fi.po b/po/fi.po
index c6c60f00d03..9308715d8bf 100644
--- a/po/fi.po
+++ b/po/fi.po
@@ -15819,6 +15819,56 @@ msgstr ""
"\n"
#: programs/reg/reg.rc:67
+#, fuzzy
+#| msgid ""
+#| "REG ADD <key> [/v value_name | /ve] [/t type] [/s separator] [/d data] [/"
+#| "f]\n"
+#| "\n"
+#| " Adds a key to the registry or adds a new value to a given registry "
+#| "key.\n"
+#| "\n"
+#| " <key>\n"
+#| " The registry key to add or, if either [/v] or [/ve] is specified,\n"
+#| " the key in which to add the new registry data.\n"
+#| "\n"
+#| " Format: ROOT\\Subkey\n"
+#| "\n"
+#| " ROOT: A predefined registry key. This must be one of the following:\n"
+#| "\n"
+#| " HKEY_LOCAL_MACHINE | HKLM\n"
+#| " HKEY_CURRENT_USER | HKCU\n"
+#| " HKEY_CLASSES_ROOT | HKCR\n"
+#| " HKEY_USERS | HKU\n"
+#| " HKEY_CURRENT_CONFIG | HKCC\n"
+#| "\n"
+#| " Subkey: The full path to a registry key under a given ROOT key.\n"
+#| "\n"
+#| " /v <value_name>\n"
+#| " The name of the registry value to add.\n"
+#| "\n"
+#| " /ve\n"
+#| " Add an unnamed registry value. This option modifies the (Default)\n"
+#| " registry value.\n"
+#| "\n"
+#| " /t <type>\n"
+#| " The type of data to add to the registry. If [/t] is specified,\n"
+#| " <type> must be one of the following:\n"
+#| "\n"
+#| " REG_SZ | REG_MULTI_SZ | REG_EXPAND_SZ\n"
+#| " REG_DWORD | REG_BINARY | REG_NONE\n"
+#| "\n"
+#| " If [/t] is not specified, the default data type is REG_SZ.\n"
+#| "\n"
+#| " /s <separator>\n"
+#| " The character used to separate strings in REG_MULTI_SZ data.\n"
+#| " If [/s] is not specified, the default separator is \\0.\n"
+#| "\n"
+#| " /d <data>\n"
+#| " The data to add to the new registry value.\n"
+#| "\n"
+#| " /f\n"
+#| " Modify the registry without prompting for confirmation.\n"
+#| "\n"
msgid ""
"REG ADD <key> [/v value_name | /ve] [/t type] [/s separator] [/d data] [/f]\n"
"\n"
@@ -15852,7 +15902,7 @@ msgid ""
" <type> must be one of the following:\n"
"\n"
" REG_SZ | REG_MULTI_SZ | REG_EXPAND_SZ\n"
-" REG_DWORD | REG_BINARY | REG_NONE\n"
+" REG_DWORD | REG_QWORD | REG_BINARY | REG_NONE\n"
"\n"
" If [/t] is not specified, the default data type is REG_SZ.\n"
"\n"
diff --git a/po/fr.po b/po/fr.po
index 0edc8d5e0a0..980f2bd90a0 100644
--- a/po/fr.po
+++ b/po/fr.po
@@ -16561,6 +16561,56 @@ msgstr ""
"\n"
#: programs/reg/reg.rc:67
+#, fuzzy
+#| msgid ""
+#| "REG ADD <key> [/v value_name | /ve] [/t type] [/s separator] [/d data] [/"
+#| "f]\n"
+#| "\n"
+#| " Adds a key to the registry or adds a new value to a given registry "
+#| "key.\n"
+#| "\n"
+#| " <key>\n"
+#| " The registry key to add or, if either [/v] or [/ve] is specified,\n"
+#| " the key in which to add the new registry data.\n"
+#| "\n"
+#| " Format: ROOT\\Subkey\n"
+#| "\n"
+#| " ROOT: A predefined registry key. This must be one of the following:\n"
+#| "\n"
+#| " HKEY_LOCAL_MACHINE | HKLM\n"
+#| " HKEY_CURRENT_USER | HKCU\n"
+#| " HKEY_CLASSES_ROOT | HKCR\n"
+#| " HKEY_USERS | HKU\n"
+#| " HKEY_CURRENT_CONFIG | HKCC\n"
+#| "\n"
+#| " Subkey: The full path to a registry key under a given ROOT key.\n"
+#| "\n"
+#| " /v <value_name>\n"
+#| " The name of the registry value to add.\n"
+#| "\n"
+#| " /ve\n"
+#| " Add an unnamed registry value. This option modifies the (Default)\n"
+#| " registry value.\n"
+#| "\n"
+#| " /t <type>\n"
+#| " The type of data to add to the registry. If [/t] is specified,\n"
+#| " <type> must be one of the following:\n"
+#| "\n"
+#| " REG_SZ | REG_MULTI_SZ | REG_EXPAND_SZ\n"
+#| " REG_DWORD | REG_BINARY | REG_NONE\n"
+#| "\n"
+#| " If [/t] is not specified, the default data type is REG_SZ.\n"
+#| "\n"
+#| " /s <separator>\n"
+#| " The character used to separate strings in REG_MULTI_SZ data.\n"
+#| " If [/s] is not specified, the default separator is \\0.\n"
+#| "\n"
+#| " /d <data>\n"
+#| " The data to add to the new registry value.\n"
+#| "\n"
+#| " /f\n"
+#| " Modify the registry without prompting for confirmation.\n"
+#| "\n"
msgid ""
"REG ADD <key> [/v value_name | /ve] [/t type] [/s separator] [/d data] [/f]\n"
"\n"
@@ -16594,7 +16644,7 @@ msgid ""
" <type> must be one of the following:\n"
"\n"
" REG_SZ | REG_MULTI_SZ | REG_EXPAND_SZ\n"
-" REG_DWORD | REG_BINARY | REG_NONE\n"
+" REG_DWORD | REG_QWORD | REG_BINARY | REG_NONE\n"
"\n"
" If [/t] is not specified, the default data type is REG_SZ.\n"
"\n"
diff --git a/po/he.po b/po/he.po
index 493ac9ff014..7932a2820f6 100644
--- a/po/he.po
+++ b/po/he.po
@@ -16662,7 +16662,7 @@ msgid ""
" <type> must be one of the following:\n"
"\n"
" REG_SZ | REG_MULTI_SZ | REG_EXPAND_SZ\n"
-" REG_DWORD | REG_BINARY | REG_NONE\n"
+" REG_DWORD | REG_QWORD | REG_BINARY | REG_NONE\n"
"\n"
" If [/t] is not specified, the default data type is REG_SZ.\n"
"\n"
diff --git a/po/hi.po b/po/hi.po
index cfc054e7f76..81c24c186fa 100644
--- a/po/hi.po
+++ b/po/hi.po
@@ -15332,7 +15332,7 @@ msgid ""
" <type> must be one of the following:\n"
"\n"
" REG_SZ | REG_MULTI_SZ | REG_EXPAND_SZ\n"
-" REG_DWORD | REG_BINARY | REG_NONE\n"
+" REG_DWORD | REG_QWORD | REG_BINARY | REG_NONE\n"
"\n"
" If [/t] is not specified, the default data type is REG_SZ.\n"
"\n"
diff --git a/po/hr.po b/po/hr.po
index 77003cfa3cf..a6b1bf18806 100644
--- a/po/hr.po
+++ b/po/hr.po
@@ -16643,7 +16643,7 @@ msgid ""
" <type> must be one of the following:\n"
"\n"
" REG_SZ | REG_MULTI_SZ | REG_EXPAND_SZ\n"
-" REG_DWORD | REG_BINARY | REG_NONE\n"
+" REG_DWORD | REG_QWORD | REG_BINARY | REG_NONE\n"
"\n"
" If [/t] is not specified, the default data type is REG_SZ.\n"
"\n"
diff --git a/po/hu.po b/po/hu.po
index 356473a34ab..4c762fbec60 100644
--- a/po/hu.po
+++ b/po/hu.po
@@ -17135,7 +17135,7 @@ msgid ""
" <type> must be one of the following:\n"
"\n"
" REG_SZ | REG_MULTI_SZ | REG_EXPAND_SZ\n"
-" REG_DWORD | REG_BINARY | REG_NONE\n"
+" REG_DWORD | REG_QWORD | REG_BINARY | REG_NONE\n"
"\n"
" If [/t] is not specified, the default data type is REG_SZ.\n"
"\n"
diff --git a/po/it.po b/po/it.po
index 52391bd02d8..21d8ef44551 100644
--- a/po/it.po
+++ b/po/it.po
@@ -17218,7 +17218,7 @@ msgid ""
" <type> must be one of the following:\n"
"\n"
" REG_SZ | REG_MULTI_SZ | REG_EXPAND_SZ\n"
-" REG_DWORD | REG_BINARY | REG_NONE\n"
+" REG_DWORD | REG_QWORD | REG_BINARY | REG_NONE\n"
"\n"
" If [/t] is not specified, the default data type is REG_SZ.\n"
"\n"
diff --git a/po/ja.po b/po/ja.po
index e3f20eca1c4..19b82ff27c8 100644
--- a/po/ja.po
+++ b/po/ja.po
@@ -15861,6 +15861,56 @@ msgstr ""
"\n"
#: programs/reg/reg.rc:67
+#, fuzzy
+#| msgid ""
+#| "REG ADD <key> [/v value_name | /ve] [/t type] [/s separator] [/d data] [/"
+#| "f]\n"
+#| "\n"
+#| " Adds a key to the registry or adds a new value to a given registry "
+#| "key.\n"
+#| "\n"
+#| " <key>\n"
+#| " The registry key to add or, if either [/v] or [/ve] is specified,\n"
+#| " the key in which to add the new registry data.\n"
+#| "\n"
+#| " Format: ROOT\\Subkey\n"
+#| "\n"
+#| " ROOT: A predefined registry key. This must be one of the following:\n"
+#| "\n"
+#| " HKEY_LOCAL_MACHINE | HKLM\n"
+#| " HKEY_CURRENT_USER | HKCU\n"
+#| " HKEY_CLASSES_ROOT | HKCR\n"
+#| " HKEY_USERS | HKU\n"
+#| " HKEY_CURRENT_CONFIG | HKCC\n"
+#| "\n"
+#| " Subkey: The full path to a registry key under a given ROOT key.\n"
+#| "\n"
+#| " /v <value_name>\n"
+#| " The name of the registry value to add.\n"
+#| "\n"
+#| " /ve\n"
+#| " Add an unnamed registry value. This option modifies the (Default)\n"
+#| " registry value.\n"
+#| "\n"
+#| " /t <type>\n"
+#| " The type of data to add to the registry. If [/t] is specified,\n"
+#| " <type> must be one of the following:\n"
+#| "\n"
+#| " REG_SZ | REG_MULTI_SZ | REG_EXPAND_SZ\n"
+#| " REG_DWORD | REG_BINARY | REG_NONE\n"
+#| "\n"
+#| " If [/t] is not specified, the default data type is REG_SZ.\n"
+#| "\n"
+#| " /s <separator>\n"
+#| " The character used to separate strings in REG_MULTI_SZ data.\n"
+#| " If [/s] is not specified, the default separator is \\0.\n"
+#| "\n"
+#| " /d <data>\n"
+#| " The data to add to the new registry value.\n"
+#| "\n"
+#| " /f\n"
+#| " Modify the registry without prompting for confirmation.\n"
+#| "\n"
msgid ""
"REG ADD <key> [/v value_name | /ve] [/t type] [/s separator] [/d data] [/f]\n"
"\n"
@@ -15894,7 +15944,7 @@ msgid ""
" <type> must be one of the following:\n"
"\n"
" REG_SZ | REG_MULTI_SZ | REG_EXPAND_SZ\n"
-" REG_DWORD | REG_BINARY | REG_NONE\n"
+" REG_DWORD | REG_QWORD | REG_BINARY | REG_NONE\n"
"\n"
" If [/t] is not specified, the default data type is REG_SZ.\n"
"\n"
diff --git a/po/ko.po b/po/ko.po
index 30ffc284b0a..b5afc3b292b 100644
--- a/po/ko.po
+++ b/po/ko.po
@@ -15795,6 +15795,56 @@ msgstr ""
"\n"
#: programs/reg/reg.rc:67
+#, fuzzy
+#| msgid ""
+#| "REG ADD <key> [/v value_name | /ve] [/t type] [/s separator] [/d data] [/"
+#| "f]\n"
+#| "\n"
+#| " Adds a key to the registry or adds a new value to a given registry "
+#| "key.\n"
+#| "\n"
+#| " <key>\n"
+#| " The registry key to add or, if either [/v] or [/ve] is specified,\n"
+#| " the key in which to add the new registry data.\n"
+#| "\n"
+#| " Format: ROOT\\Subkey\n"
+#| "\n"
+#| " ROOT: A predefined registry key. This must be one of the following:\n"
+#| "\n"
+#| " HKEY_LOCAL_MACHINE | HKLM\n"
+#| " HKEY_CURRENT_USER | HKCU\n"
+#| " HKEY_CLASSES_ROOT | HKCR\n"
+#| " HKEY_USERS | HKU\n"
+#| " HKEY_CURRENT_CONFIG | HKCC\n"
+#| "\n"
+#| " Subkey: The full path to a registry key under a given ROOT key.\n"
+#| "\n"
+#| " /v <value_name>\n"
+#| " The name of the registry value to add.\n"
+#| "\n"
+#| " /ve\n"
+#| " Add an unnamed registry value. This option modifies the (Default)\n"
+#| " registry value.\n"
+#| "\n"
+#| " /t <type>\n"
+#| " The type of data to add to the registry. If [/t] is specified,\n"
+#| " <type> must be one of the following:\n"
+#| "\n"
+#| " REG_SZ | REG_MULTI_SZ | REG_EXPAND_SZ\n"
+#| " REG_DWORD | REG_BINARY | REG_NONE\n"
+#| "\n"
+#| " If [/t] is not specified, the default data type is REG_SZ.\n"
+#| "\n"
+#| " /s <separator>\n"
+#| " The character used to separate strings in REG_MULTI_SZ data.\n"
+#| " If [/s] is not specified, the default separator is \\0.\n"
+#| "\n"
+#| " /d <data>\n"
+#| " The data to add to the new registry value.\n"
+#| "\n"
+#| " /f\n"
+#| " Modify the registry without prompting for confirmation.\n"
+#| "\n"
msgid ""
"REG ADD <key> [/v value_name | /ve] [/t type] [/s separator] [/d data] [/f]\n"
"\n"
@@ -15828,7 +15878,7 @@ msgid ""
" <type> must be one of the following:\n"
"\n"
" REG_SZ | REG_MULTI_SZ | REG_EXPAND_SZ\n"
-" REG_DWORD | REG_BINARY | REG_NONE\n"
+" REG_DWORD | REG_QWORD | REG_BINARY | REG_NONE\n"
"\n"
" If [/t] is not specified, the default data type is REG_SZ.\n"
"\n"
diff --git a/po/lt.po b/po/lt.po
index ea1d281a430..41536a396d8 100644
--- a/po/lt.po
+++ b/po/lt.po
@@ -15847,6 +15847,56 @@ msgstr ""
"\n"
#: programs/reg/reg.rc:67
+#, fuzzy
+#| msgid ""
+#| "REG ADD <key> [/v value_name | /ve] [/t type] [/s separator] [/d data] [/"
+#| "f]\n"
+#| "\n"
+#| " Adds a key to the registry or adds a new value to a given registry "
+#| "key.\n"
+#| "\n"
+#| " <key>\n"
+#| " The registry key to add or, if either [/v] or [/ve] is specified,\n"
+#| " the key in which to add the new registry data.\n"
+#| "\n"
+#| " Format: ROOT\\Subkey\n"
+#| "\n"
+#| " ROOT: A predefined registry key. This must be one of the following:\n"
+#| "\n"
+#| " HKEY_LOCAL_MACHINE | HKLM\n"
+#| " HKEY_CURRENT_USER | HKCU\n"
+#| " HKEY_CLASSES_ROOT | HKCR\n"
+#| " HKEY_USERS | HKU\n"
+#| " HKEY_CURRENT_CONFIG | HKCC\n"
+#| "\n"
+#| " Subkey: The full path to a registry key under a given ROOT key.\n"
+#| "\n"
+#| " /v <value_name>\n"
+#| " The name of the registry value to add.\n"
+#| "\n"
+#| " /ve\n"
+#| " Add an unnamed registry value. This option modifies the (Default)\n"
+#| " registry value.\n"
+#| "\n"
+#| " /t <type>\n"
+#| " The type of data to add to the registry. If [/t] is specified,\n"
+#| " <type> must be one of the following:\n"
+#| "\n"
+#| " REG_SZ | REG_MULTI_SZ | REG_EXPAND_SZ\n"
+#| " REG_DWORD | REG_BINARY | REG_NONE\n"
+#| "\n"
+#| " If [/t] is not specified, the default data type is REG_SZ.\n"
+#| "\n"
+#| " /s <separator>\n"
+#| " The character used to separate strings in REG_MULTI_SZ data.\n"
+#| " If [/s] is not specified, the default separator is \\0.\n"
+#| "\n"
+#| " /d <data>\n"
+#| " The data to add to the new registry value.\n"
+#| "\n"
+#| " /f\n"
+#| " Modify the registry without prompting for confirmation.\n"
+#| "\n"
msgid ""
"REG ADD <key> [/v value_name | /ve] [/t type] [/s separator] [/d data] [/f]\n"
"\n"
@@ -15880,7 +15930,7 @@ msgid ""
" <type> must be one of the following:\n"
"\n"
" REG_SZ | REG_MULTI_SZ | REG_EXPAND_SZ\n"
-" REG_DWORD | REG_BINARY | REG_NONE\n"
+" REG_DWORD | REG_QWORD | REG_BINARY | REG_NONE\n"
"\n"
" If [/t] is not specified, the default data type is REG_SZ.\n"
"\n"
diff --git a/po/ml.po b/po/ml.po
index c319ea42fe6..2b0ca09f80b 100644
--- a/po/ml.po
+++ b/po/ml.po
@@ -15331,7 +15331,7 @@ msgid ""
" <type> must be one of the following:\n"
"\n"
" REG_SZ | REG_MULTI_SZ | REG_EXPAND_SZ\n"
-" REG_DWORD | REG_BINARY | REG_NONE\n"
+" REG_DWORD | REG_QWORD | REG_BINARY | REG_NONE\n"
"\n"
" If [/t] is not specified, the default data type is REG_SZ.\n"
"\n"
diff --git a/po/nb_NO.po b/po/nb_NO.po
index c7d6d9534d7..ac322c785ac 100644
--- a/po/nb_NO.po
+++ b/po/nb_NO.po
@@ -16681,7 +16681,7 @@ msgid ""
" <type> must be one of the following:\n"
"\n"
" REG_SZ | REG_MULTI_SZ | REG_EXPAND_SZ\n"
-" REG_DWORD | REG_BINARY | REG_NONE\n"
+" REG_DWORD | REG_QWORD | REG_BINARY | REG_NONE\n"
"\n"
" If [/t] is not specified, the default data type is REG_SZ.\n"
"\n"
diff --git a/po/nl.po b/po/nl.po
index 8e3074e26e5..5e30fdb1e89 100644
--- a/po/nl.po
+++ b/po/nl.po
@@ -15915,6 +15915,56 @@ msgstr ""
"\n"
#: programs/reg/reg.rc:67
+#, fuzzy
+#| msgid ""
+#| "REG ADD <key> [/v value_name | /ve] [/t type] [/s separator] [/d data] [/"
+#| "f]\n"
+#| "\n"
+#| " Adds a key to the registry or adds a new value to a given registry "
+#| "key.\n"
+#| "\n"
+#| " <key>\n"
+#| " The registry key to add or, if either [/v] or [/ve] is specified,\n"
+#| " the key in which to add the new registry data.\n"
+#| "\n"
+#| " Format: ROOT\\Subkey\n"
+#| "\n"
+#| " ROOT: A predefined registry key. This must be one of the following:\n"
+#| "\n"
+#| " HKEY_LOCAL_MACHINE | HKLM\n"
+#| " HKEY_CURRENT_USER | HKCU\n"
+#| " HKEY_CLASSES_ROOT | HKCR\n"
+#| " HKEY_USERS | HKU\n"
+#| " HKEY_CURRENT_CONFIG | HKCC\n"
+#| "\n"
+#| " Subkey: The full path to a registry key under a given ROOT key.\n"
+#| "\n"
+#| " /v <value_name>\n"
+#| " The name of the registry value to add.\n"
+#| "\n"
+#| " /ve\n"
+#| " Add an unnamed registry value. This option modifies the (Default)\n"
+#| " registry value.\n"
+#| "\n"
+#| " /t <type>\n"
+#| " The type of data to add to the registry. If [/t] is specified,\n"
+#| " <type> must be one of the following:\n"
+#| "\n"
+#| " REG_SZ | REG_MULTI_SZ | REG_EXPAND_SZ\n"
+#| " REG_DWORD | REG_BINARY | REG_NONE\n"
+#| "\n"
+#| " If [/t] is not specified, the default data type is REG_SZ.\n"
+#| "\n"
+#| " /s <separator>\n"
+#| " The character used to separate strings in REG_MULTI_SZ data.\n"
+#| " If [/s] is not specified, the default separator is \\0.\n"
+#| "\n"
+#| " /d <data>\n"
+#| " The data to add to the new registry value.\n"
+#| "\n"
+#| " /f\n"
+#| " Modify the registry without prompting for confirmation.\n"
+#| "\n"
msgid ""
"REG ADD <key> [/v value_name | /ve] [/t type] [/s separator] [/d data] [/f]\n"
"\n"
@@ -15948,7 +15998,7 @@ msgid ""
" <type> must be one of the following:\n"
"\n"
" REG_SZ | REG_MULTI_SZ | REG_EXPAND_SZ\n"
-" REG_DWORD | REG_BINARY | REG_NONE\n"
+" REG_DWORD | REG_QWORD | REG_BINARY | REG_NONE\n"
"\n"
" If [/t] is not specified, the default data type is REG_SZ.\n"
"\n"
diff --git a/po/or.po b/po/or.po
index 13a3ff5f731..505b5df8462 100644
--- a/po/or.po
+++ b/po/or.po
@@ -15317,7 +15317,7 @@ msgid ""
" <type> must be one of the following:\n"
"\n"
" REG_SZ | REG_MULTI_SZ | REG_EXPAND_SZ\n"
-" REG_DWORD | REG_BINARY | REG_NONE\n"
+" REG_DWORD | REG_QWORD | REG_BINARY | REG_NONE\n"
"\n"
" If [/t] is not specified, the default data type is REG_SZ.\n"
"\n"
diff --git a/po/pa.po b/po/pa.po
index b222eb535b0..379f6b7d65a 100644
--- a/po/pa.po
+++ b/po/pa.po
@@ -15317,7 +15317,7 @@ msgid ""
" <type> must be one of the following:\n"
"\n"
" REG_SZ | REG_MULTI_SZ | REG_EXPAND_SZ\n"
-" REG_DWORD | REG_BINARY | REG_NONE\n"
+" REG_DWORD | REG_QWORD | REG_BINARY | REG_NONE\n"
"\n"
" If [/t] is not specified, the default data type is REG_SZ.\n"
"\n"
diff --git a/po/pl.po b/po/pl.po
index 6299025c8b1..fdfccbd93b9 100644
--- a/po/pl.po
+++ b/po/pl.po
@@ -15978,6 +15978,56 @@ msgstr ""
"\n"
#: programs/reg/reg.rc:67
+#, fuzzy
+#| msgid ""
+#| "REG ADD <key> [/v value_name | /ve] [/t type] [/s separator] [/d data] [/"
+#| "f]\n"
+#| "\n"
+#| " Adds a key to the registry or adds a new value to a given registry "
+#| "key.\n"
+#| "\n"
+#| " <key>\n"
+#| " The registry key to add or, if either [/v] or [/ve] is specified,\n"
+#| " the key in which to add the new registry data.\n"
+#| "\n"
+#| " Format: ROOT\\Subkey\n"
+#| "\n"
+#| " ROOT: A predefined registry key. This must be one of the following:\n"
+#| "\n"
+#| " HKEY_LOCAL_MACHINE | HKLM\n"
+#| " HKEY_CURRENT_USER | HKCU\n"
+#| " HKEY_CLASSES_ROOT | HKCR\n"
+#| " HKEY_USERS | HKU\n"
+#| " HKEY_CURRENT_CONFIG | HKCC\n"
+#| "\n"
+#| " Subkey: The full path to a registry key under a given ROOT key.\n"
+#| "\n"
+#| " /v <value_name>\n"
+#| " The name of the registry value to add.\n"
+#| "\n"
+#| " /ve\n"
+#| " Add an unnamed registry value. This option modifies the (Default)\n"
+#| " registry value.\n"
+#| "\n"
+#| " /t <type>\n"
+#| " The type of data to add to the registry. If [/t] is specified,\n"
+#| " <type> must be one of the following:\n"
+#| "\n"
+#| " REG_SZ | REG_MULTI_SZ | REG_EXPAND_SZ\n"
+#| " REG_DWORD | REG_BINARY | REG_NONE\n"
+#| "\n"
+#| " If [/t] is not specified, the default data type is REG_SZ.\n"
+#| "\n"
+#| " /s <separator>\n"
+#| " The character used to separate strings in REG_MULTI_SZ data.\n"
+#| " If [/s] is not specified, the default separator is \\0.\n"
+#| "\n"
+#| " /d <data>\n"
+#| " The data to add to the new registry value.\n"
+#| "\n"
+#| " /f\n"
+#| " Modify the registry without prompting for confirmation.\n"
+#| "\n"
msgid ""
"REG ADD <key> [/v value_name | /ve] [/t type] [/s separator] [/d data] [/f]\n"
"\n"
@@ -16011,7 +16061,7 @@ msgid ""
" <type> must be one of the following:\n"
"\n"
" REG_SZ | REG_MULTI_SZ | REG_EXPAND_SZ\n"
-" REG_DWORD | REG_BINARY | REG_NONE\n"
+" REG_DWORD | REG_QWORD | REG_BINARY | REG_NONE\n"
"\n"
" If [/t] is not specified, the default data type is REG_SZ.\n"
"\n"
diff --git a/po/pt_BR.po b/po/pt_BR.po
index 5d4e3ddb35d..1fe6eb0f770 100644
--- a/po/pt_BR.po
+++ b/po/pt_BR.po
@@ -16033,6 +16033,56 @@ msgstr ""
"\n"
#: programs/reg/reg.rc:67
+#, fuzzy
+#| msgid ""
+#| "REG ADD <key> [/v value_name | /ve] [/t type] [/s separator] [/d data] [/"
+#| "f]\n"
+#| "\n"
+#| " Adds a key to the registry or adds a new value to a given registry "
+#| "key.\n"
+#| "\n"
+#| " <key>\n"
+#| " The registry key to add or, if either [/v] or [/ve] is specified,\n"
+#| " the key in which to add the new registry data.\n"
+#| "\n"
+#| " Format: ROOT\\Subkey\n"
+#| "\n"
+#| " ROOT: A predefined registry key. This must be one of the following:\n"
+#| "\n"
+#| " HKEY_LOCAL_MACHINE | HKLM\n"
+#| " HKEY_CURRENT_USER | HKCU\n"
+#| " HKEY_CLASSES_ROOT | HKCR\n"
+#| " HKEY_USERS | HKU\n"
+#| " HKEY_CURRENT_CONFIG | HKCC\n"
+#| "\n"
+#| " Subkey: The full path to a registry key under a given ROOT key.\n"
+#| "\n"
+#| " /v <value_name>\n"
+#| " The name of the registry value to add.\n"
+#| "\n"
+#| " /ve\n"
+#| " Add an unnamed registry value. This option modifies the (Default)\n"
+#| " registry value.\n"
+#| "\n"
+#| " /t <type>\n"
+#| " The type of data to add to the registry. If [/t] is specified,\n"
+#| " <type> must be one of the following:\n"
+#| "\n"
+#| " REG_SZ | REG_MULTI_SZ | REG_EXPAND_SZ\n"
+#| " REG_DWORD | REG_BINARY | REG_NONE\n"
+#| "\n"
+#| " If [/t] is not specified, the default data type is REG_SZ.\n"
+#| "\n"
+#| " /s <separator>\n"
+#| " The character used to separate strings in REG_MULTI_SZ data.\n"
+#| " If [/s] is not specified, the default separator is \\0.\n"
+#| "\n"
+#| " /d <data>\n"
+#| " The data to add to the new registry value.\n"
+#| "\n"
+#| " /f\n"
+#| " Modify the registry without prompting for confirmation.\n"
+#| "\n"
msgid ""
"REG ADD <key> [/v value_name | /ve] [/t type] [/s separator] [/d data] [/f]\n"
"\n"
@@ -16066,7 +16116,7 @@ msgid ""
" <type> must be one of the following:\n"
"\n"
" REG_SZ | REG_MULTI_SZ | REG_EXPAND_SZ\n"
-" REG_DWORD | REG_BINARY | REG_NONE\n"
+" REG_DWORD | REG_QWORD | REG_BINARY | REG_NONE\n"
"\n"
" If [/t] is not specified, the default data type is REG_SZ.\n"
"\n"
diff --git a/po/pt_PT.po b/po/pt_PT.po
index 9557e2c6659..bcdbbbe941d 100644
--- a/po/pt_PT.po
+++ b/po/pt_PT.po
@@ -16867,7 +16867,7 @@ msgid ""
" <type> must be one of the following:\n"
"\n"
" REG_SZ | REG_MULTI_SZ | REG_EXPAND_SZ\n"
-" REG_DWORD | REG_BINARY | REG_NONE\n"
+" REG_DWORD | REG_QWORD | REG_BINARY | REG_NONE\n"
"\n"
" If [/t] is not specified, the default data type is REG_SZ.\n"
"\n"
diff --git a/po/rm.po b/po/rm.po
index 80114864531..3fddfb4d575 100644
--- a/po/rm.po
+++ b/po/rm.po
@@ -15420,7 +15420,7 @@ msgid ""
" <type> must be one of the following:\n"
"\n"
" REG_SZ | REG_MULTI_SZ | REG_EXPAND_SZ\n"
-" REG_DWORD | REG_BINARY | REG_NONE\n"
+" REG_DWORD | REG_QWORD | REG_BINARY | REG_NONE\n"
"\n"
" If [/t] is not specified, the default data type is REG_SZ.\n"
"\n"
diff --git a/po/ro.po b/po/ro.po
index 07e09d9d5b9..fadd5a14b51 100644
--- a/po/ro.po
+++ b/po/ro.po
@@ -16927,7 +16927,7 @@ msgid ""
" <type> must be one of the following:\n"
"\n"
" REG_SZ | REG_MULTI_SZ | REG_EXPAND_SZ\n"
-" REG_DWORD | REG_BINARY | REG_NONE\n"
+" REG_DWORD | REG_QWORD | REG_BINARY | REG_NONE\n"
"\n"
" If [/t] is not specified, the default data type is REG_SZ.\n"
"\n"
diff --git a/po/ru.po b/po/ru.po
index e7190a0bd38..760b6a3d3c0 100644
--- a/po/ru.po
+++ b/po/ru.po
@@ -16286,7 +16286,7 @@ msgid ""
" <type> must be one of the following:\n"
"\n"
" REG_SZ | REG_MULTI_SZ | REG_EXPAND_SZ\n"
-" REG_DWORD | REG_BINARY | REG_NONE\n"
+" REG_DWORD | REG_QWORD | REG_BINARY | REG_NONE\n"
"\n"
" If [/t] is not specified, the default data type is REG_SZ.\n"
"\n"
diff --git a/po/si.po b/po/si.po
index 211e6bfa0ae..48d02fe4537 100644
--- a/po/si.po
+++ b/po/si.po
@@ -15964,7 +15964,7 @@ msgid ""
" <type> must be one of the following:\n"
"\n"
" REG_SZ | REG_MULTI_SZ | REG_EXPAND_SZ\n"
-" REG_DWORD | REG_BINARY | REG_NONE\n"
+" REG_DWORD | REG_QWORD | REG_BINARY | REG_NONE\n"
"\n"
" If [/t] is not specified, the default data type is REG_SZ.\n"
"\n"
diff --git a/po/sk.po b/po/sk.po
index ecb834b86a6..e506ef8dbb0 100644
--- a/po/sk.po
+++ b/po/sk.po
@@ -16412,7 +16412,7 @@ msgid ""
" <type> must be one of the following:\n"
"\n"
" REG_SZ | REG_MULTI_SZ | REG_EXPAND_SZ\n"
-" REG_DWORD | REG_BINARY | REG_NONE\n"
+" REG_DWORD | REG_QWORD | REG_BINARY | REG_NONE\n"
"\n"
" If [/t] is not specified, the default data type is REG_SZ.\n"
"\n"
diff --git a/po/sl.po b/po/sl.po
index e819db055da..514e65021d3 100644
--- a/po/sl.po
+++ b/po/sl.po
@@ -17161,7 +17161,7 @@ msgid ""
" <type> must be one of the following:\n"
"\n"
" REG_SZ | REG_MULTI_SZ | REG_EXPAND_SZ\n"
-" REG_DWORD | REG_BINARY | REG_NONE\n"
+" REG_DWORD | REG_QWORD | REG_BINARY | REG_NONE\n"
"\n"
" If [/t] is not specified, the default data type is REG_SZ.\n"
"\n"
diff --git a/po/sr_RS(a)cyrillic.po b/po/sr_RS(a)cyrillic.po
index 59b6e725d22..2412460480f 100644
--- a/po/sr_RS(a)cyrillic.po
+++ b/po/sr_RS(a)cyrillic.po
@@ -16493,7 +16493,7 @@ msgid ""
" <type> must be one of the following:\n"
"\n"
" REG_SZ | REG_MULTI_SZ | REG_EXPAND_SZ\n"
-" REG_DWORD | REG_BINARY | REG_NONE\n"
+" REG_DWORD | REG_QWORD | REG_BINARY | REG_NONE\n"
"\n"
" If [/t] is not specified, the default data type is REG_SZ.\n"
"\n"
diff --git a/po/sr_RS(a)latin.po b/po/sr_RS(a)latin.po
index efb1fa454f7..b6db682afae 100644
--- a/po/sr_RS(a)latin.po
+++ b/po/sr_RS(a)latin.po
@@ -16676,7 +16676,7 @@ msgid ""
" <type> must be one of the following:\n"
"\n"
" REG_SZ | REG_MULTI_SZ | REG_EXPAND_SZ\n"
-" REG_DWORD | REG_BINARY | REG_NONE\n"
+" REG_DWORD | REG_QWORD | REG_BINARY | REG_NONE\n"
"\n"
" If [/t] is not specified, the default data type is REG_SZ.\n"
"\n"
diff --git a/po/sv.po b/po/sv.po
index 883f2c60052..74293519144 100644
--- a/po/sv.po
+++ b/po/sv.po
@@ -16817,7 +16817,7 @@ msgid ""
" <type> must be one of the following:\n"
"\n"
" REG_SZ | REG_MULTI_SZ | REG_EXPAND_SZ\n"
-" REG_DWORD | REG_BINARY | REG_NONE\n"
+" REG_DWORD | REG_QWORD | REG_BINARY | REG_NONE\n"
"\n"
" If [/t] is not specified, the default data type is REG_SZ.\n"
"\n"
diff --git a/po/ta.po b/po/ta.po
index 56b8f7ae323..fb7f2cc6fd3 100644
--- a/po/ta.po
+++ b/po/ta.po
@@ -15245,7 +15245,7 @@ msgid ""
" <type> must be one of the following:\n"
"\n"
" REG_SZ | REG_MULTI_SZ | REG_EXPAND_SZ\n"
-" REG_DWORD | REG_BINARY | REG_NONE\n"
+" REG_DWORD | REG_QWORD | REG_BINARY | REG_NONE\n"
"\n"
" If [/t] is not specified, the default data type is REG_SZ.\n"
"\n"
diff --git a/po/te.po b/po/te.po
index 1d8a9cc8208..46c708c2b8b 100644
--- a/po/te.po
+++ b/po/te.po
@@ -15317,7 +15317,7 @@ msgid ""
" <type> must be one of the following:\n"
"\n"
" REG_SZ | REG_MULTI_SZ | REG_EXPAND_SZ\n"
-" REG_DWORD | REG_BINARY | REG_NONE\n"
+" REG_DWORD | REG_QWORD | REG_BINARY | REG_NONE\n"
"\n"
" If [/t] is not specified, the default data type is REG_SZ.\n"
"\n"
diff --git a/po/th.po b/po/th.po
index e794bc347ea..5d3df7c0515 100644
--- a/po/th.po
+++ b/po/th.po
@@ -15919,7 +15919,7 @@ msgid ""
" <type> must be one of the following:\n"
"\n"
" REG_SZ | REG_MULTI_SZ | REG_EXPAND_SZ\n"
-" REG_DWORD | REG_BINARY | REG_NONE\n"
+" REG_DWORD | REG_QWORD | REG_BINARY | REG_NONE\n"
"\n"
" If [/t] is not specified, the default data type is REG_SZ.\n"
"\n"
diff --git a/po/tr.po b/po/tr.po
index a5893420ed0..3a82b587713 100644
--- a/po/tr.po
+++ b/po/tr.po
@@ -16160,7 +16160,7 @@ msgid ""
" <type> must be one of the following:\n"
"\n"
" REG_SZ | REG_MULTI_SZ | REG_EXPAND_SZ\n"
-" REG_DWORD | REG_BINARY | REG_NONE\n"
+" REG_DWORD | REG_QWORD | REG_BINARY | REG_NONE\n"
"\n"
" If [/t] is not specified, the default data type is REG_SZ.\n"
"\n"
diff --git a/po/uk.po b/po/uk.po
index b3750ba8bb9..19599af9da9 100644
--- a/po/uk.po
+++ b/po/uk.po
@@ -16167,7 +16167,7 @@ msgid ""
" <type> must be one of the following:\n"
"\n"
" REG_SZ | REG_MULTI_SZ | REG_EXPAND_SZ\n"
-" REG_DWORD | REG_BINARY | REG_NONE\n"
+" REG_DWORD | REG_QWORD | REG_BINARY | REG_NONE\n"
"\n"
" If [/t] is not specified, the default data type is REG_SZ.\n"
"\n"
diff --git a/po/wa.po b/po/wa.po
index 91282783e0e..2a5c27d71ac 100644
--- a/po/wa.po
+++ b/po/wa.po
@@ -15788,7 +15788,7 @@ msgid ""
" <type> must be one of the following:\n"
"\n"
" REG_SZ | REG_MULTI_SZ | REG_EXPAND_SZ\n"
-" REG_DWORD | REG_BINARY | REG_NONE\n"
+" REG_DWORD | REG_QWORD | REG_BINARY | REG_NONE\n"
"\n"
" If [/t] is not specified, the default data type is REG_SZ.\n"
"\n"
diff --git a/po/wine.pot b/po/wine.pot
index ab3cc1c54b4..3e58195abb7 100644
--- a/po/wine.pot
+++ b/po/wine.pot
@@ -15224,7 +15224,7 @@ msgid ""
" <type> must be one of the following:\n"
"\n"
" REG_SZ | REG_MULTI_SZ | REG_EXPAND_SZ\n"
-" REG_DWORD | REG_BINARY | REG_NONE\n"
+" REG_DWORD | REG_QWORD | REG_BINARY | REG_NONE\n"
"\n"
" If [/t] is not specified, the default data type is REG_SZ.\n"
"\n"
diff --git a/po/zh_CN.po b/po/zh_CN.po
index b162a2c6802..f866d622974 100644
--- a/po/zh_CN.po
+++ b/po/zh_CN.po
@@ -15651,6 +15651,56 @@ msgstr ""
"\n"
#: programs/reg/reg.rc:67
+#, fuzzy
+#| msgid ""
+#| "REG ADD <key> [/v value_name | /ve] [/t type] [/s separator] [/d data] [/"
+#| "f]\n"
+#| "\n"
+#| " Adds a key to the registry or adds a new value to a given registry "
+#| "key.\n"
+#| "\n"
+#| " <key>\n"
+#| " The registry key to add or, if either [/v] or [/ve] is specified,\n"
+#| " the key in which to add the new registry data.\n"
+#| "\n"
+#| " Format: ROOT\\Subkey\n"
+#| "\n"
+#| " ROOT: A predefined registry key. This must be one of the following:\n"
+#| "\n"
+#| " HKEY_LOCAL_MACHINE | HKLM\n"
+#| " HKEY_CURRENT_USER | HKCU\n"
+#| " HKEY_CLASSES_ROOT | HKCR\n"
+#| " HKEY_USERS | HKU\n"
+#| " HKEY_CURRENT_CONFIG | HKCC\n"
+#| "\n"
+#| " Subkey: The full path to a registry key under a given ROOT key.\n"
+#| "\n"
+#| " /v <value_name>\n"
+#| " The name of the registry value to add.\n"
+#| "\n"
+#| " /ve\n"
+#| " Add an unnamed registry value. This option modifies the (Default)\n"
+#| " registry value.\n"
+#| "\n"
+#| " /t <type>\n"
+#| " The type of data to add to the registry. If [/t] is specified,\n"
+#| " <type> must be one of the following:\n"
+#| "\n"
+#| " REG_SZ | REG_MULTI_SZ | REG_EXPAND_SZ\n"
+#| " REG_DWORD | REG_BINARY | REG_NONE\n"
+#| "\n"
+#| " If [/t] is not specified, the default data type is REG_SZ.\n"
+#| "\n"
+#| " /s <separator>\n"
+#| " The character used to separate strings in REG_MULTI_SZ data.\n"
+#| " If [/s] is not specified, the default separator is \\0.\n"
+#| "\n"
+#| " /d <data>\n"
+#| " The data to add to the new registry value.\n"
+#| "\n"
+#| " /f\n"
+#| " Modify the registry without prompting for confirmation.\n"
+#| "\n"
msgid ""
"REG ADD <key> [/v value_name | /ve] [/t type] [/s separator] [/d data] [/f]\n"
"\n"
@@ -15684,7 +15734,7 @@ msgid ""
" <type> must be one of the following:\n"
"\n"
" REG_SZ | REG_MULTI_SZ | REG_EXPAND_SZ\n"
-" REG_DWORD | REG_BINARY | REG_NONE\n"
+" REG_DWORD | REG_QWORD | REG_BINARY | REG_NONE\n"
"\n"
" If [/t] is not specified, the default data type is REG_SZ.\n"
"\n"
diff --git a/po/zh_TW.po b/po/zh_TW.po
index 00ec45f1dcb..c1982784489 100644
--- a/po/zh_TW.po
+++ b/po/zh_TW.po
@@ -15683,6 +15683,56 @@ msgstr ""
"\n"
#: programs/reg/reg.rc:67
+#, fuzzy
+#| msgid ""
+#| "REG ADD <key> [/v value_name | /ve] [/t type] [/s separator] [/d data] [/"
+#| "f]\n"
+#| "\n"
+#| " Adds a key to the registry or adds a new value to a given registry "
+#| "key.\n"
+#| "\n"
+#| " <key>\n"
+#| " The registry key to add or, if either [/v] or [/ve] is specified,\n"
+#| " the key in which to add the new registry data.\n"
+#| "\n"
+#| " Format: ROOT\\Subkey\n"
+#| "\n"
+#| " ROOT: A predefined registry key. This must be one of the following:\n"
+#| "\n"
+#| " HKEY_LOCAL_MACHINE | HKLM\n"
+#| " HKEY_CURRENT_USER | HKCU\n"
+#| " HKEY_CLASSES_ROOT | HKCR\n"
+#| " HKEY_USERS | HKU\n"
+#| " HKEY_CURRENT_CONFIG | HKCC\n"
+#| "\n"
+#| " Subkey: The full path to a registry key under a given ROOT key.\n"
+#| "\n"
+#| " /v <value_name>\n"
+#| " The name of the registry value to add.\n"
+#| "\n"
+#| " /ve\n"
+#| " Add an unnamed registry value. This option modifies the (Default)\n"
+#| " registry value.\n"
+#| "\n"
+#| " /t <type>\n"
+#| " The type of data to add to the registry. If [/t] is specified,\n"
+#| " <type> must be one of the following:\n"
+#| "\n"
+#| " REG_SZ | REG_MULTI_SZ | REG_EXPAND_SZ\n"
+#| " REG_DWORD | REG_BINARY | REG_NONE\n"
+#| "\n"
+#| " If [/t] is not specified, the default data type is REG_SZ.\n"
+#| "\n"
+#| " /s <separator>\n"
+#| " The character used to separate strings in REG_MULTI_SZ data.\n"
+#| " If [/s] is not specified, the default separator is \\0.\n"
+#| "\n"
+#| " /d <data>\n"
+#| " The data to add to the new registry value.\n"
+#| "\n"
+#| " /f\n"
+#| " Modify the registry without prompting for confirmation.\n"
+#| "\n"
msgid ""
"REG ADD <key> [/v value_name | /ve] [/t type] [/s separator] [/d data] [/f]\n"
"\n"
@@ -15716,7 +15766,7 @@ msgid ""
" <type> must be one of the following:\n"
"\n"
" REG_SZ | REG_MULTI_SZ | REG_EXPAND_SZ\n"
-" REG_DWORD | REG_BINARY | REG_NONE\n"
+" REG_DWORD | REG_QWORD | REG_BINARY | REG_NONE\n"
"\n"
" If [/t] is not specified, the default data type is REG_SZ.\n"
"\n"
diff --git a/programs/reg/add.c b/programs/reg/add.c
index 269fa30e5e1..e0cd0373339 100644
--- a/programs/reg/add.c
+++ b/programs/reg/add.c
@@ -84,6 +84,22 @@ static BOOL get_regdata(const WCHAR *data, DWORD reg_type, WCHAR separator,
*(DWORD *)*data_bytes = val;
break;
}
+ case REG_QWORD:
+ {
+ WCHAR *rest;
+ UINT64 val;
+
+ val = _wcstoui64(data, &rest, (towlower(data[1]) == 'x') ? 16 : 10);
+ if (*rest || (val == ~0ull && errno == ERANGE))
+ {
+ output_message(STRING_MISSING_NUMBER);
+ return FALSE;
+ }
+ *size_bytes = sizeof(val);
+ *data_bytes = malloc(*size_bytes);
+ *(UINT64 *)*data_bytes = val;
+ break;
+ }
case REG_BINARY:
{
BYTE hex0, hex1, *ptr;
diff --git a/programs/reg/reg.c b/programs/reg/reg.c
index 4fd374579e9..5753b99bdf4 100644
--- a/programs/reg/reg.c
+++ b/programs/reg/reg.c
@@ -46,6 +46,7 @@ const struct reg_type_rels type_rels[] =
{REG_DWORD, L"REG_DWORD"},
{REG_DWORD_LITTLE_ENDIAN, L"REG_DWORD_LITTLE_ENDIAN"},
{REG_DWORD_BIG_ENDIAN, L"REG_DWORD_BIG_ENDIAN"},
+ {REG_QWORD, L"REG_QWORD"},
{REG_MULTI_SZ, L"REG_MULTI_SZ"},
};
diff --git a/programs/reg/reg.h b/programs/reg/reg.h
index 67b49b7797f..4ac54dcecaf 100644
--- a/programs/reg/reg.h
+++ b/programs/reg/reg.h
@@ -31,7 +31,7 @@ struct reg_type_rels {
const WCHAR *name;
};
-extern const struct reg_type_rels type_rels[8];
+extern const struct reg_type_rels type_rels[9];
void output_writeconsole(const WCHAR *str, DWORD wlen);
void WINAPIV output_message(unsigned int id, ...);
diff --git a/programs/reg/reg.rc b/programs/reg/reg.rc
index a3c53cf41b4..45acb993add 100644
--- a/programs/reg/reg.rc
+++ b/programs/reg/reg.rc
@@ -55,7 +55,7 @@ STRINGTABLE
\ The type of data to add to the registry. If [/t] is specified,\n\
\ <type> must be one of the following:\n\n\
\ REG_SZ | REG_MULTI_SZ | REG_EXPAND_SZ\n\
-\ REG_DWORD | REG_BINARY | REG_NONE\n\n\
+\ REG_DWORD | REG_QWORD | REG_BINARY | REG_NONE\n\n\
\ If [/t] is not specified, the default data type is REG_SZ.\n\n\
\ /s <separator>\n\
\ The character used to separate strings in REG_MULTI_SZ data.\n\
diff --git a/programs/reg/tests/add.c b/programs/reg/tests/add.c
index 0d213414443..ae9c79b07ec 100644
--- a/programs/reg/tests/add.c
+++ b/programs/reg/tests/add.c
@@ -764,6 +764,100 @@ static void test_reg_dword_big_endian(void)
delete_key(HKEY_CURRENT_USER, KEY_BASE, 0);
}
+static void test_reg_qword(void)
+{
+ UINT64 qword;
+ HKEY hkey;
+ DWORD r;
+
+ add_key(HKEY_CURRENT_USER, KEY_BASE, 0, &hkey);
+
+ run_reg_exe("reg add HKCU\\" KEY_BASE " /t REG_QWORD /f /d 0x123456789abcdef", &r);
+ ok(r == REG_EXIT_SUCCESS, "Unexpected exit code %ld.\n", r);
+ qword = 0x123456789abcdef;
+ verify_reg(hkey, "", REG_QWORD, &qword, sizeof(qword), 0);
+
+ run_reg_exe("reg add HKCU\\" KEY_BASE " /ve /t REG_QWORD /f", &r);
+ ok(r == REG_EXIT_SUCCESS, "Unexpected exit code %ld.\n", r);
+ qword = 0;
+ verify_reg(hkey, "", REG_QWORD, &qword, sizeof(qword), 0);
+
+ run_reg_exe("reg add HKCU\\" KEY_BASE " /v qword0 /t REG_QWORD /f /d", &r);
+ ok(r == REG_EXIT_FAILURE, "Unexpected exit code %lu.\n", r);
+
+ run_reg_exe("reg add HKCU\\" KEY_BASE " /v qword1 /t REG_QWORD /f", &r);
+ ok(r == REG_EXIT_SUCCESS, "Unexpected exit code %ld.\n", r);
+ qword = 0;
+ verify_reg(hkey, "qword1", REG_QWORD, &qword, sizeof(qword), 0);
+
+ run_reg_exe("reg add HKCU\\" KEY_BASE " /v qword2 /t REG_QWORD /d zzz /f", &r);
+ ok(r == REG_EXIT_FAILURE, "Unexpected exit code %lu.\n", r);
+
+ run_reg_exe("reg add HKCU\\" KEY_BASE " /v qword3 /t REG_QWORD /d deadbeef /f", &r);
+ ok(r == REG_EXIT_FAILURE, "Unexpected exit code %lu.\n", r);
+
+ run_reg_exe("reg add HKCU\\" KEY_BASE " /v qword4 /t REG_QWORD /d 123xyz /f", &r);
+ ok(r == REG_EXIT_FAILURE, "Unexpected exit code %lu.\n", r);
+
+ run_reg_exe("reg add HKCU\\" KEY_BASE " /v qword5 /t reg_qword /d 12345678 /f", &r);
+ ok(r == REG_EXIT_SUCCESS, "Unexpected exit code %ld.\n", r);
+ qword = 12345678;
+ verify_reg(hkey, "qword5", REG_QWORD, &qword, sizeof(qword), 0);
+
+ run_reg_exe("reg add HKCU\\" KEY_BASE " /v qword6 /t REG_QWORD /D 0123 /f", &r);
+ ok(r == REG_EXIT_SUCCESS, "Unexpected exit code %ld.\n", r);
+ qword = 123;
+ verify_reg(hkey, "qword6", REG_QWORD, &qword, sizeof(qword), 0);
+
+ run_reg_exe("reg add HKCU\\" KEY_BASE " /v qword7 /t reg_qword /d 0xabcdefg /f", &r);
+ ok(r == REG_EXIT_FAILURE, "got exit code %ld, expected 1\n", r);
+
+ run_reg_exe("reg add HKCU\\" KEY_BASE " /v qword8 /t REG_qword /d 0xdeadbeef /f", &r);
+ ok(r == REG_EXIT_SUCCESS, "got exit code %ld, expected 0\n", r);
+ qword = 0xdeadbeef;
+ verify_reg(hkey, "qword8", REG_QWORD, &qword, sizeof(qword), 0);
+
+ run_reg_exe("reg add HKCU\\" KEY_BASE " /t REG_QWORD /v qword9 /f /d -1", &r);
+ ok(r == REG_EXIT_SUCCESS, "got exit code %ld, expected 0\n", r);
+ qword = ~0ull;
+ verify_reg(hkey, "qword9", REG_QWORD, &qword, sizeof(qword), 0);
+
+ run_reg_exe("reg add HKCU\\" KEY_BASE " /t REG_QWORD /v qword10 /f /d -0x1", &r);
+ ok(r == REG_EXIT_FAILURE, "got exit code %lu, expected 1\n", r);
+
+ run_reg_exe("reg add HKCU\\" KEY_BASE " /v qword11 /t REG_qword /d 0x01ffffffffffffffff /f", &r);
+ ok(r == REG_EXIT_FAILURE, "got exit code %ld, expected 1\n", r);
+
+ run_reg_exe("reg add HKCU\\" KEY_BASE " /v qword12 /t REG_QWORD /d 0xffffffffffffffff /f", &r);
+ ok(r == REG_EXIT_SUCCESS, "got exit code %ld, expected 0\n", r);
+ qword = ~0ull;
+ verify_reg(hkey, "qword12", REG_QWORD, &qword, sizeof(qword), 0);
+
+ run_reg_exe("reg add HKCU\\" KEY_BASE " /v qword13 /t REG_QWORD /d 00x123 /f", &r);
+ ok(r == REG_EXIT_FAILURE, "got exit code %ld, expected 1\n", r);
+
+ run_reg_exe("reg add HKCU\\" KEY_BASE " /v qword14 /t REG_QWORD /d 0X123 /f", &r);
+ ok(r == REG_EXIT_SUCCESS, "got exit code %ld, expected 0\n", r);
+ qword = 0x123;
+ verify_reg(hkey, "qword14", REG_QWORD, &qword, sizeof(qword), 0);
+
+ run_reg_exe("reg add HKCU\\" KEY_BASE " /v qword15 /t REG_QWORD /d 18446744073709551616 /f", &r);
+ ok(r == REG_EXIT_FAILURE, "got exit code %lu, expected 1\n", r);
+
+ run_reg_exe("reg add HKCU\\" KEY_BASE " /v qword16 /t REG_QWORD /d 456 /f", &r);
+ ok(r == REG_EXIT_SUCCESS, "got exit code %ld, expected 0\n", r);
+ qword = 456;
+ verify_reg(hkey, "qword16", REG_QWORD, &qword, sizeof(qword), 0);
+
+ run_reg_exe("reg add HKCU\\" KEY_BASE " /v qword17 /t REG_QWORD /d 0x456 /f", &r);
+ ok(r == REG_EXIT_SUCCESS, "got exit code %ld, expected 0\n", r);
+ qword = 0x456;
+ verify_reg(hkey, "qword17", REG_QWORD, &qword, sizeof(qword), 0);
+
+ close_key(hkey);
+ delete_key(HKEY_CURRENT_USER, KEY_BASE, 0);
+}
+
static void test_reg_multi_sz(void)
{
HKEY hkey;
@@ -988,6 +1082,7 @@ START_TEST(add)
test_reg_binary();
test_reg_dword();
test_reg_dword_big_endian();
+ test_reg_qword();
test_reg_multi_sz();
/* Check if reg.exe is running with elevated privileges */
--
GitLab
https://gitlab.winehq.org/wine/wine/-/merge_requests/306
June 27, 2022
[PATCH v4 0/1] MR306: reg: Add REG_QWORD support to 'add'.
by Nikolay Sivov (@nsivov)
Signed-off-by: Nikolay Sivov <nsivov(a)codeweavers.com>
--
v4: reg: Add REG_QWORD support to 'add'.
https://gitlab.winehq.org/wine/wine/-/merge_requests/306
June 27, 2022
Re: [PATCH v2 0/17] MR319: d2d1: Initial implementation of effect properties handling - approved
by Alexandre Julliard (@julliard)
This merge request was approved by Alexandre Julliard.
--
https://gitlab.winehq.org/wine/wine/-/merge_requests/319
June 27, 2022
Re: [PATCH v2 0/1] MR316: wbemprox: Use return length from NtQuerySystemInformationEx(). - approved
by Alexandre Julliard (@julliard)
This merge request was approved by Alexandre Julliard.
--
https://gitlab.winehq.org/wine/wine/-/merge_requests/316
June 27, 2022
Re: [PATCH v2 0/5] MR318: light.msstyles: Add Vista+ button parts. - approved
by Alexandre Julliard (@julliard)
This merge request was approved by Alexandre Julliard.
--
https://gitlab.winehq.org/wine/wine/-/merge_requests/318
June 27, 2022
[PATCH v2 6/6] uxtheme: Handle BT_NONE in GetThemeBackgroundRegion().
by Zhiyi Zhang
From: Zhiyi Zhang <zzhang(a)codeweavers.com>
Signed-off-by: Zhiyi Zhang <zzhang(a)codeweavers.com>
---
dlls/uxtheme/draw.c | 6 +++++-
dlls/uxtheme/tests/system.c | 1 -
2 files changed, 5 insertions(+), 2 deletions(-)
diff --git a/dlls/uxtheme/draw.c b/dlls/uxtheme/draw.c
index 55242d92559..3286d70d4d1 100644
--- a/dlls/uxtheme/draw.c
+++ b/dlls/uxtheme/draw.c
@@ -2063,8 +2063,12 @@ HRESULT WINAPI GetThemeBackgroundRegion(HTHEME hTheme, HDC hdc, int iPartId,
if(!*pRegion)
hr = HRESULT_FROM_WIN32(GetLastError());
}
+ else if (bgtype == BT_NONE)
+ {
+ hr = E_UNEXPECTED;
+ }
else {
- FIXME("Unknown background type\n");
+ FIXME("Unknown background type %d\n", bgtype);
/* This should never happen, and hence I don't know what to return */
hr = E_FAIL;
}
diff --git a/dlls/uxtheme/tests/system.c b/dlls/uxtheme/tests/system.c
index e9c91c62638..aa566f554ff 100644
--- a/dlls/uxtheme/tests/system.c
+++ b/dlls/uxtheme/tests/system.c
@@ -2425,7 +2425,6 @@ static void test_GetThemeBackgroundRegion(void)
SetRect(&rect, 0, 0, 10, 10);
region = (HRGN)0xdeadbeef;
hr = GetThemeBackgroundRegion(htheme, NULL, RP_BAND, 0, &rect, ®ion);
- todo_wine
ok(hr == E_UNEXPECTED || broken(hr == S_OK) /* < Win10 */, "Got unexpected hr %#lx.\n", hr);
ok(region == (HRGN)0xdeadbeef, "Got unexpected region.\n");
--
GitLab
https://gitlab.winehq.org/wine/wine/-/merge_requests/317
June 27, 2022
[PATCH v2 5/6] uxtheme/tests: Add GetThemeBackgroundRegion() tests.
by Zhiyi Zhang
From: Zhiyi Zhang <zzhang(a)codeweavers.com>
Signed-off-by: Zhiyi Zhang <zzhang(a)codeweavers.com>
---
dlls/uxtheme/tests/system.c | 35 +++++++++++++++++++++++++++++++++++
1 file changed, 35 insertions(+)
diff --git a/dlls/uxtheme/tests/system.c b/dlls/uxtheme/tests/system.c
index cbaf4b51258..e9c91c62638 100644
--- a/dlls/uxtheme/tests/system.c
+++ b/dlls/uxtheme/tests/system.c
@@ -2399,6 +2399,40 @@ static void test_DrawThemeBackgroundEx(void)
DestroyWindow(hwnd);
}
+static void test_GetThemeBackgroundRegion(void)
+{
+ HTHEME htheme;
+ HRGN region;
+ HRESULT hr;
+ HWND hwnd;
+ RECT rect;
+ int ret;
+
+ hwnd = CreateWindowA(WC_STATICA, "", WS_POPUP, 0, 0, 1, 1, 0, 0, 0, NULL);
+ ok(hwnd != NULL, "CreateWindowA failed, error %#lx.\n", GetLastError());
+ htheme = OpenThemeData(hwnd, L"Rebar");
+ if (!htheme)
+ {
+ skip("Theming is inactive.\n");
+ DestroyWindow(hwnd);
+ return;
+ }
+
+ hr = GetThemeEnumValue(htheme, RP_BAND, 0, TMT_BGTYPE, &ret);
+ ok(hr == S_OK, "Got unexpected hr %#lx,\n", hr);
+ ok(ret == BT_NONE, "Got expected type %d.\n", ret);
+
+ SetRect(&rect, 0, 0, 10, 10);
+ region = (HRGN)0xdeadbeef;
+ hr = GetThemeBackgroundRegion(htheme, NULL, RP_BAND, 0, &rect, ®ion);
+ todo_wine
+ ok(hr == E_UNEXPECTED || broken(hr == S_OK) /* < Win10 */, "Got unexpected hr %#lx.\n", hr);
+ ok(region == (HRGN)0xdeadbeef, "Got unexpected region.\n");
+
+ CloseThemeData(htheme);
+ DestroyWindow(hwnd);
+}
+
START_TEST(system)
{
ULONG_PTR ctx_cookie;
@@ -2422,6 +2456,7 @@ START_TEST(system)
test_GetThemeTransitionDuration();
test_DrawThemeParentBackground();
test_DrawThemeBackgroundEx();
+ test_GetThemeBackgroundRegion();
if (load_v6_module(&ctx_cookie, &ctx))
{
--
GitLab
https://gitlab.winehq.org/wine/wine/-/merge_requests/317
June 27, 2022
Re: [PATCH v2 0/6] MR317: uxtheme/tests: Test that DrawThemeBackgroundEx() is at ordinal 47. - approved
by Alexandre Julliard (@julliard)
This merge request was approved by Alexandre Julliard.
--
https://gitlab.winehq.org/wine/wine/-/merge_requests/317
June 27, 2022
[PATCH v2 4/6] uxtheme: Do not transfer glyph alpha values when drawing opaque background.
by Zhiyi Zhang
From: Zhiyi Zhang <zzhang(a)codeweavers.com>
Fix QSpinBox artifacts for Qt5 applications.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=53066
Signed-off-by: Zhiyi Zhang <zzhang(a)codeweavers.com>
---
dlls/uxtheme/draw.c | 38 +++++++++++++++++++++++++++++++++++++
dlls/uxtheme/tests/system.c | 1 -
2 files changed, 38 insertions(+), 1 deletion(-)
diff --git a/dlls/uxtheme/draw.c b/dlls/uxtheme/draw.c
index 3ddb9b3bf4d..55242d92559 100644
--- a/dlls/uxtheme/draw.c
+++ b/dlls/uxtheme/draw.c
@@ -523,6 +523,39 @@ static inline void get_transparency (HTHEME hTheme, int iPartId, int iStateId,
}
}
+/* Reset alpha values in hdc to 0xFF if the background is opaque */
+static void reset_dc_alpha_values(HTHEME htheme, HDC hdc, int part_id, int state_id,
+ const RECT *rect)
+{
+ static const RGBQUAD bitmap_bits = {0x0, 0x0, 0x0, 0xFF};
+ BITMAPINFO bitmap_info = {{0}};
+ RECT image_rect;
+ BOOL has_alpha;
+ HBITMAP hbmp;
+ int bg_type;
+
+ if (GetDeviceCaps(hdc, BITSPIXEL) != 32)
+ return;
+
+ if (FAILED(GetThemeEnumValue(htheme, part_id, state_id, TMT_BGTYPE, &bg_type))
+ || bg_type != BT_IMAGEFILE)
+ return;
+
+ if (FAILED(UXTHEME_LoadImage(htheme, part_id, state_id, rect, FALSE, &hbmp, &image_rect,
+ &has_alpha, NULL)) || has_alpha)
+ return;
+
+ bitmap_info.bmiHeader.biSize = sizeof(BITMAPINFOHEADER);
+ bitmap_info.bmiHeader.biWidth = 1;
+ bitmap_info.bmiHeader.biHeight = 1;
+ bitmap_info.bmiHeader.biPlanes = 1;
+ bitmap_info.bmiHeader.biBitCount = 32;
+ bitmap_info.bmiHeader.biCompression = BI_RGB;
+ StretchDIBits(hdc, rect->left, rect->top, abs(rect->right - rect->left),
+ abs(rect->bottom - rect->top), 0, 0, 1, 1, &bitmap_bits, &bitmap_info,
+ DIB_RGB_COLORS, SRCPAINT);
+}
+
/***********************************************************************
* UXTHEME_DrawImageGlyph
*
@@ -581,6 +614,11 @@ static HRESULT UXTHEME_DrawImageGlyph(HTHEME hTheme, HDC hdc, int iPartId,
SelectObject(hdcSrc, oldSrc);
DeleteDC(hdcSrc);
+
+ /* Don't transfer alpha values from the glyph when drawing opaque background */
+ if (SUCCEEDED(hr) && hasAlpha)
+ reset_dc_alpha_values(hTheme, hdc, iPartId, iStateId, pRect);
+
return hr;
}
diff --git a/dlls/uxtheme/tests/system.c b/dlls/uxtheme/tests/system.c
index e9191de1507..cbaf4b51258 100644
--- a/dlls/uxtheme/tests/system.c
+++ b/dlls/uxtheme/tests/system.c
@@ -2322,7 +2322,6 @@ static void test_DrawThemeBackgroundEx(void)
ptr += 4;
}
- todo_wine
ok(i == width * height || broken(ptr[3] == 0) /* Spin button glyphs on XP don't use alpha */,
"Unexpected alpha value %#x at (%d,%d).\n", ptr[3], i % height, i / height);
--
GitLab
https://gitlab.winehq.org/wine/wine/-/merge_requests/317
June 27, 2022