[ros-diffs] [reactos] 01/01: [JOY] Update Hebrew (he-IL) translation (#3563)

2021-04-27 Thread Omer Itzic Schwartz
https://git.reactos.org/?p=reactos.git;a=commitdiff;h=5582fb30a51cdf89ec0c952370a2a1faa3126ac7

commit 5582fb30a51cdf89ec0c952370a2a1faa3126ac7
Author: Omer Itzic Schwartz 
AuthorDate: Mon Mar 29 21:17:36 2021 +0300
Commit: Stanislav Motylkov 
CommitDate: Tue Apr 27 10:52:09 2021 +0300

[JOY] Update Hebrew (he-IL) translation (#3563)
---
 dll/cpl/joy/lang/he-IL.rc | 8 
 1 file changed, 4 insertions(+), 4 deletions(-)

diff --git a/dll/cpl/joy/lang/he-IL.rc b/dll/cpl/joy/lang/he-IL.rc
index eaa45c61bce..9dbf4bda518 100644
--- a/dll/cpl/joy/lang/he-IL.rc
+++ b/dll/cpl/joy/lang/he-IL.rc
@@ -14,7 +14,7 @@ BEGIN
 PUSHBUTTON "הסר", IDC_REMOVE_BUTTON, 104, 129, 65, 14, WS_DISABLED
 PUSHBUTTON "מאפיינים", IDC_PROPERTIES_BUTTON, 173, 129, 65, 14, WS_DISABLED
 PUSHBUTTON "מתקדם...", IDC_ADVANCED_BUTTON, 111, 157, 65, 14
-PUSHBUTTON "פתוח בעיות...", IDC_TROUBLESHOOT_BUTTON, 180, 157, 65, 14
+PUSHBUTTON "פתור בעיות...", IDC_TROUBLESHOOT_BUTTON, 180, 157, 65, 14
 PUSHBUTTON "אישור", IDOK, 195, 185, 50, 14
 END
 
@@ -70,7 +70,7 @@ BEGIN
 ICON IDI_CPLSYSTEM, -1, 7, 24, 20, 20
 DEFPUSHBUTTON "אישור", IDOK, 106, 65, 50, 14
 PUSHBUTTON "ביטול", IDCANCEL, 163, 65, 50, 14
-LTEXT "Select the device you want to use with older programs.", -1, 7, 7, 
208, 10
+LTEXT "בחר את ההתקן בו ברצונך להשתמש עם תכניות ישנות.", -1, 7, 7, 208, 10
 LTEXT "התקן מועדף:", -1, 34, 24, 70, 10
 COMBOBOX IDC_PREFERRED_DEV_COMBO, 34, 38, 179, 75, CBS_DROPDOWNLIST | 
CBS_SORT | WS_VSCROLL
 END
@@ -78,8 +78,8 @@ END
 STRINGTABLE
 BEGIN
 IDS_CPLSYSTEMNAME "בקרי משחק"
-IDS_CPLSYSTEMDESCRIPTION "Add, remove, and configure game controller 
hardware such as joysticks and gamepads."
+IDS_CPLSYSTEMDESCRIPTION "הוסף, הסר, והגדר חומרת בקרי משחק כמו ג׳ויסטיקים 
ומשטחי משחק."
 IDS_CONTROLLER "בקר"
 IDS_STATUS "מצב"
-IDS_NONE "(None)"
+IDS_NONE "(ללא)"
 END



[ros-diffs] [reactos] 02/03: [CRT] intrin_x86.h: Fix '_InterlockedIncrement64' copypasta

2021-04-27 Thread Serge Gautherie
https://git.reactos.org/?p=reactos.git;a=commitdiff;h=b6493654a3b1b6d5d37e0ecf80f25851d7ae9930

commit b6493654a3b1b6d5d37e0ecf80f25851d7ae9930
Author: Serge Gautherie 
AuthorDate: Sat Apr 10 04:16:10 2021 +0200
Commit: Stanislav Motylkov 
CommitDate: Tue Apr 27 10:36:54 2021 +0300

[CRT] intrin_x86.h: Fix '_InterlockedIncrement64' copypasta

Addendum to bc3a471.
---
 sdk/include/crt/mingw32/intrin_x86.h | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/sdk/include/crt/mingw32/intrin_x86.h 
b/sdk/include/crt/mingw32/intrin_x86.h
index 2ba1ed1258c..c772338d3fa 100644
--- a/sdk/include/crt/mingw32/intrin_x86.h
+++ b/sdk/include/crt/mingw32/intrin_x86.h
@@ -347,7 +347,7 @@ __INTRIN_INLINE short _InterlockedIncrement16(volatile 
short * lpAddend)
 #endif
 
 #if defined(__x86_64__)
-#if !HAS_BUILTIN(_InterlockedIncrement64)
+#if !HAS_BUILTIN(_InterlockedDecrement64)
 __INTRIN_INLINE long long _InterlockedDecrement64(volatile long long * 
lpAddend)
 {
return __sync_sub_and_fetch(lpAddend, 1);



[ros-diffs] [reactos] 01/03: [CMAKE] config.cmake: Fix 'STEQUAL' typo, in a comment

2021-04-27 Thread Serge Gautherie
https://git.reactos.org/?p=reactos.git;a=commitdiff;h=c41007624f96204ab6e4a061824ab22be39cf3e4

commit c41007624f96204ab6e4a061824ab22be39cf3e4
Author: Serge Gautherie 
AuthorDate: Sat Apr 10 04:12:48 2021 +0200
Commit: Stanislav Motylkov 
CommitDate: Tue Apr 27 10:36:54 2021 +0300

[CMAKE] config.cmake: Fix 'STEQUAL' typo, in a comment

Addendum to e90b6bb.
---
 sdk/cmake/config.cmake | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/sdk/cmake/config.cmake b/sdk/cmake/config.cmake
index eaf193ca8f1..7bf236d08cb 100644
--- a/sdk/cmake/config.cmake
+++ b/sdk/cmake/config.cmake
@@ -71,7 +71,7 @@ elseif(CMAKE_C_COMPILER_ID STREQUAL "Clang")
 set(GCC TRUE CACHE BOOL "The compiler is GCC")
 endif()
 set(CLANG TRUE CACHE BOOL "The compiler is LLVM Clang")
-elseif(MSVC) # aka CMAKE_C_COMPILER_ID STEQUAL "MSVC"
+elseif(MSVC) # aka CMAKE_C_COMPILER_ID STREQUAL "MSVC"
 set(GCC FALSE CACHE BOOL "The compiler is GCC")
 set(CLANG FALSE CACHE BOOL "The compiler is LLVM Clang")
 # MSVC variable is already set by cmake



[ros-diffs] [reactos] 03/03: [CRT] exp2*.c: Add an explicit type for 'TWO' variable

2021-04-27 Thread Serge Gautherie
https://git.reactos.org/?p=reactos.git;a=commitdiff;h=b8ae96663491a513c08eace46858c60f27722b0e

commit b8ae96663491a513c08eace46858c60f27722b0e
Author: Serge Gautherie 
AuthorDate: Sat Apr 10 04:37:07 2021 +0200
Commit: Stanislav Motylkov 
CommitDate: Tue Apr 27 10:36:54 2021 +0300

[CRT] exp2*.c: Add an explicit type for 'TWO' variable

Addendum to 199adee.
---
 sdk/lib/crt/math/exp2.c  | 2 +-
 sdk/lib/crt/math/exp2f.c | 2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/sdk/lib/crt/math/exp2.c b/sdk/lib/crt/math/exp2.c
index e843be9fffd..84f02e29c1c 100644
--- a/sdk/lib/crt/math/exp2.c
+++ b/sdk/lib/crt/math/exp2.c
@@ -8,6 +8,6 @@ exp2(
 _In_ double x)
 {
 /* This below avoids clang to optimize our pow call to exp2 */
-static const TWO = 2.0;
+static const double TWO = 2.0;
 return pow(TWO, x);
 }
diff --git a/sdk/lib/crt/math/exp2f.c b/sdk/lib/crt/math/exp2f.c
index 292308ae521..818a28bb2f1 100644
--- a/sdk/lib/crt/math/exp2f.c
+++ b/sdk/lib/crt/math/exp2f.c
@@ -8,6 +8,6 @@ exp2f(
 _In_ float x)
 {
 /* This below avoids clang to optimize our pow call to exp2 */
-static const TWO = 2.0f;
+static const float TWO = 2.0f;
 return powf(TWO, x);
 }



[ros-diffs] [reactos] 01/01: [CMDUTILS][FC] Forgot to add a line break to IDS_RESYNCH_FAILED

2021-04-27 Thread Katayama Hirofumi MZ
https://git.reactos.org/?p=reactos.git;a=commitdiff;h=c3adff41b4b851e101b904d0878b3334ea009785

commit c3adff41b4b851e101b904d0878b3334ea009785
Author: Katayama Hirofumi MZ 
AuthorDate: Tue Apr 27 18:45:24 2021 +0900
Commit: Katayama Hirofumi MZ 
CommitDate: Tue Apr 27 18:45:24 2021 +0900

[CMDUTILS][FC] Forgot to add a line break to IDS_RESYNCH_FAILED

CORE-17500
---
 base/applications/cmdutils/fc/lang/bg-BG.rc | 2 +-
 base/applications/cmdutils/fc/lang/cs-CZ.rc | 2 +-
 base/applications/cmdutils/fc/lang/de-DE.rc | 2 +-
 base/applications/cmdutils/fc/lang/el-GR.rc | 2 +-
 base/applications/cmdutils/fc/lang/en-GB.rc | 2 +-
 base/applications/cmdutils/fc/lang/en-US.rc | 2 +-
 base/applications/cmdutils/fc/lang/es-ES.rc | 2 +-
 base/applications/cmdutils/fc/lang/et-EE.rc | 2 +-
 base/applications/cmdutils/fc/lang/fr-FR.rc | 2 +-
 base/applications/cmdutils/fc/lang/he-IL.rc | 2 +-
 base/applications/cmdutils/fc/lang/hu-HU.rc | 2 +-
 base/applications/cmdutils/fc/lang/id-ID.rc | 2 +-
 base/applications/cmdutils/fc/lang/it-IT.rc | 2 +-
 base/applications/cmdutils/fc/lang/ja-JP.rc | 2 +-
 base/applications/cmdutils/fc/lang/nl-NL.rc | 2 +-
 base/applications/cmdutils/fc/lang/no-NO.rc | 2 +-
 base/applications/cmdutils/fc/lang/pl-PL.rc | 2 +-
 base/applications/cmdutils/fc/lang/pt-BR.rc | 2 +-
 base/applications/cmdutils/fc/lang/pt-PT.rc | 2 +-
 base/applications/cmdutils/fc/lang/ro-RO.rc | 2 +-
 base/applications/cmdutils/fc/lang/ru-RU.rc | 2 +-
 base/applications/cmdutils/fc/lang/sk-SK.rc | 2 +-
 base/applications/cmdutils/fc/lang/sq-AL.rc | 2 +-
 base/applications/cmdutils/fc/lang/sv-SE.rc | 2 +-
 base/applications/cmdutils/fc/lang/tr-TR.rc | 2 +-
 base/applications/cmdutils/fc/lang/uk-UA.rc | 2 +-
 base/applications/cmdutils/fc/lang/zh-CN.rc | 2 +-
 base/applications/cmdutils/fc/lang/zh-TW.rc | 2 +-
 28 files changed, 28 insertions(+), 28 deletions(-)

diff --git a/base/applications/cmdutils/fc/lang/bg-BG.rc 
b/base/applications/cmdutils/fc/lang/bg-BG.rc
index b735ba3a5c3..f0c672ff4ae 100644
--- a/base/applications/cmdutils/fc/lang/bg-BG.rc
+++ b/base/applications/cmdutils/fc/lang/bg-BG.rc
@@ -37,5 +37,5 @@ FC /B [drive1:][path1]filename1 [drive2:][path2]filename2\n\
 IDS_CANT_USE_WILDCARD "Wildcard ('*' and '?') are not supported yet\n"
 IDS_DIFFERENT "FC: File %ls and %ls are different\n"
 IDS_TOO_LARGE "FC: File %ls too large\n"
-IDS_RESYNCH_FAILED "Resynch failed. Files are too different."
+IDS_RESYNCH_FAILED "Resynch failed. Files are too different.\n"
 END
diff --git a/base/applications/cmdutils/fc/lang/cs-CZ.rc 
b/base/applications/cmdutils/fc/lang/cs-CZ.rc
index 841bf71099f..b5bf38399c7 100644
--- a/base/applications/cmdutils/fc/lang/cs-CZ.rc
+++ b/base/applications/cmdutils/fc/lang/cs-CZ.rc
@@ -37,5 +37,5 @@ FC /B [drive1:][path1]filename1 [drive2:][path2]filename2\n\
 IDS_CANT_USE_WILDCARD "Wildcard ('*' and '?') are not supported yet\n"
 IDS_DIFFERENT "FC: File %ls and %ls are different\n"
 IDS_TOO_LARGE "FC: File %ls too large\n"
-IDS_RESYNCH_FAILED "Resynch failed. Files are too different."
+IDS_RESYNCH_FAILED "Resynch failed. Files are too different.\n"
 END
diff --git a/base/applications/cmdutils/fc/lang/de-DE.rc 
b/base/applications/cmdutils/fc/lang/de-DE.rc
index 212517a82f6..d4449b25972 100644
--- a/base/applications/cmdutils/fc/lang/de-DE.rc
+++ b/base/applications/cmdutils/fc/lang/de-DE.rc
@@ -37,5 +37,5 @@ FC /B [drive1:][path1]filename1 [drive2:][path2]filename2\n\
 IDS_CANT_USE_WILDCARD "Wildcard ('*' and '?') are not supported yet\n"
 IDS_DIFFERENT "FC: File %ls and %ls are different\n"
 IDS_TOO_LARGE "FC: File %ls too large\n"
-IDS_RESYNCH_FAILED "Resynch failed. Files are too different."
+IDS_RESYNCH_FAILED "Resynch failed. Files are too different.\n"
 END
diff --git a/base/applications/cmdutils/fc/lang/el-GR.rc 
b/base/applications/cmdutils/fc/lang/el-GR.rc
index e08f9a71acd..060954fec8e 100644
--- a/base/applications/cmdutils/fc/lang/el-GR.rc
+++ b/base/applications/cmdutils/fc/lang/el-GR.rc
@@ -37,5 +37,5 @@ FC /B [drive1:][path1]filename1 [drive2:][path2]filename2\n\
 IDS_CANT_USE_WILDCARD "Wildcard ('*' and '?') are not supported yet\n"
 IDS_DIFFERENT "FC: File %ls and %ls are different\n"
 IDS_TOO_LARGE "FC: File %ls too large\n"
-IDS_RESYNCH_FAILED "Resynch failed. Files are too different."
+IDS_RESYNCH_FAILED "Resynch failed. Files are too different.\n"
 END
diff --git a/base/applications/cmdutils/fc/lang/en-GB.rc 
b/base/applications/cmdutils/fc/lang/en-GB.rc
index 8dbf20a4107..3fa575f8999 100644
--- a/base/applications/cmdutils/fc/lang/en-GB.rc
+++ b/base/applications/cmdutils/fc/lang/en-GB.rc
@@ -37,5 +37,5 @@ FC /B [drive1:][path1]filename1 [drive2:][path2]filename2\n\
 IDS_CANT_USE_WILDCARD "Wildcard ('*' and '?') are not supported yet\n"
 IDS_DIFFERENT "FC: File %ls and %ls are different\n"
 IDS_TOO_LARGE "FC: File %ls too large\n"
-IDS_RESYNCH_FAILED 

[ros-diffs] [reactos] 01/02: [PSDK] Import winuser.rh from wine 6.7

2021-04-27 Thread Jérôme Gardou
https://git.reactos.org/?p=reactos.git;a=commitdiff;h=ba9a7decbaced18e89bfa3d68e375d79347c6b44

commit ba9a7decbaced18e89bfa3d68e375d79347c6b44
Author: Jérôme Gardou 
AuthorDate: Tue Apr 27 11:33:29 2021 +0200
Commit: Jérôme Gardou 
CommitDate: Tue Apr 27 11:54:12 2021 +0200

[PSDK] Import winuser.rh from wine 6.7
---
 sdk/include/psdk/winuser.rh | 1401 +++
 1 file changed, 1401 insertions(+)

diff --git a/sdk/include/psdk/winuser.rh b/sdk/include/psdk/winuser.rh
new file mode 100644
index 000..fd984a91742
--- /dev/null
+++ b/sdk/include/psdk/winuser.rh
@@ -0,0 +1,1401 @@
+/*
+ * Copyright (C) the Wine project
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2.1 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
+ */
+
+/* Macro to deal with LP64 <=> LLP64 differences in numeric constants with 'l' 
modifier */
+#ifndef __MSABI_LONG
+# if defined(_MSC_VER) || defined(__MINGW32__) || defined(__CYGWIN__)
+#  define __MSABI_LONG(x) x ## l
+# else
+#  define __MSABI_LONG(x) x
+# endif
+#endif
+
+#ifdef RC_INVOKED
+# define MAKEINTRESOURCE(i)   i
+#endif
+
+
+#define RT_MANIFESTMAKEINTRESOURCE(24)
+#define CREATEPROCESS_MANIFEST_RESOURCE_ID MAKEINTRESOURCE(1)
+#define ISOLATIONAWARE_MANIFEST_RESOURCE_IDMAKEINTRESOURCE(2)
+#define ISOLATIONAWARE_NOSTATICIMPORT_MANIFEST_RESOURCE_ID MAKEINTRESOURCE(3)
+#define MINIMUM_RESERVED_MANIFEST_RESOURCE_ID  MAKEINTRESOURCE(1)
+#define MAXIMUM_RESERVED_MANIFEST_RESOURCE_ID  MAKEINTRESOURCE(16)
+
+
+/*** ShowWindow() codes ***/
+#define SW_HIDE0
+#define SW_SHOWNORMAL  1
+#define SW_NORMAL  SW_SHOWNORMAL
+#define SW_SHOWMINIMIZED   2
+#define SW_SHOWMAXIMIZED   3
+#define SW_MAXIMIZESW_SHOWMAXIMIZED
+#define SW_SHOWNOACTIVATE  4
+#define SW_SHOW5
+#define SW_MINIMIZE6
+#define SW_SHOWMINNOACTIVE 7
+#define SW_SHOWNA  8
+#define SW_RESTORE 9
+#define SW_SHOWDEFAULT 10
+#define SW_FORCEMINIMIZE   11
+#define SW_MAX 11
+#define SW_NORMALNA0xCC /* Undocumented. Flag in MinMaximize */
+
+/* Obsolete ShowWindow() codes for compatibility */
+#define HIDE_WINDOWSW_HIDE
+#define SHOW_OPENWINDOWSW_SHOWNORMAL
+#define SHOW_ICONWINDOWSW_SHOWMINIMIZED
+#define SHOW_FULLSCREENSW_SHOWMAXIMIZED
+#define SHOW_OPENNOACTIVATESW_SHOWNOACTIVATE
+
+/* WM_SHOWWINDOW lParam codes */
+#define SW_PARENTCLOSING   1
+#define SW_OTHERZOOM   2
+#define SW_PARENTOPENING   3
+#define SW_OTHERUNZOOM 4
+
+
+/*** Virtual key codes ***/
+#define VK_LBUTTON 0x01
+#define VK_RBUTTON 0x02
+#define VK_CANCEL  0x03
+#define VK_MBUTTON 0x04
+#define VK_XBUTTON10x05
+#define VK_XBUTTON20x06
+/* 0x07  Undefined */
+#define VK_BACK0x08
+#define VK_TAB 0x09
+/* 0x0A-0x0B  Undefined */
+#define VK_CLEAR   0x0C
+#define VK_RETURN  0x0D
+/* 0x0E-0x0F  Undefined */
+#define VK_SHIFT   0x10
+#define VK_CONTROL 0x11
+#define VK_MENU0x12
+#define VK_PAUSE   0x13
+#define VK_CAPITAL 0x14
+
+#define VK_KANA0x15
+#define VK_HANGEUL VK_KANA
+#define VK_HANGUL  VK_KANA
+/* 0x16  Undefined */
+#define VK_JUNJA   0x17
+#define VK_FINAL   0x18
+#define VK_HANJA   0x19
+#define VK_KANJI   VK_HANJA
+
+/* 0x1A   Undefined */
+#define VK_ESCAPE  0x1B
+
+#define VK_CONVERT 0x1C
+#define VK_NONCONVERT  0x1D
+#define VK_ACCEPT  0x1E
+#define VK_MODECHANGE  0x1F
+
+#define VK_SPACE   0x20
+#define VK_PRIOR   0x21
+#define VK_NEXT0x22
+#define VK_END 0x23
+#define VK_HOME0x24
+#define VK_LEFT0x25
+#define VK_UP  0x26
+#define VK_RIGHT   

[ros-diffs] [reactos] 02/02: [CMAKE] Fix compilation with newer windres versions

2021-04-27 Thread Jérôme Gardou
https://git.reactos.org/?p=reactos.git;a=commitdiff;h=9ef5a7eb7a58107611cd5a3700516552eac40b2f

commit 9ef5a7eb7a58107611cd5a3700516552eac40b2f
Author: Jérôme Gardou 
AuthorDate: Tue Apr 27 11:11:41 2021 +0200
Commit: Jérôme Gardou 
CommitDate: Tue Apr 27 11:54:12 2021 +0200

[CMAKE] Fix compilation with newer windres versions

Also use clang as preprocessor when using it
Also, use *our* headers instead of the platform ones
---
 dll/win32/themeui/CMakeLists.txt  |  1 +
 sdk/cmake/gcc.cmake   | 10 ++
 subsystems/mvdm/pifmgr/CMakeLists.txt |  1 +
 3 files changed, 8 insertions(+), 4 deletions(-)

diff --git a/dll/win32/themeui/CMakeLists.txt b/dll/win32/themeui/CMakeLists.txt
index 6f2538967e4..85a814b6208 100644
--- a/dll/win32/themeui/CMakeLists.txt
+++ b/dll/win32/themeui/CMakeLists.txt
@@ -1,4 +1,5 @@
 
 add_library(themeui MODULE themeui.rc)
+add_dependencies(themeui psdk)
 set_module_type(themeui win32dll ENTRYPOINT 0)
 add_cd_file(TARGET themeui DESTINATION reactos/system32 FOR all)
diff --git a/sdk/cmake/gcc.cmake b/sdk/cmake/gcc.cmake
index 4efeda21d07..f542d34ef19 100644
--- a/sdk/cmake/gcc.cmake
+++ b/sdk/cmake/gcc.cmake
@@ -256,13 +256,15 @@ set(CMAKE_CXX_COMPILE_OBJECT " 
  
 set(CMAKE_ASM_COMPILE_OBJECT " 
${_compress_debug_sections_flag} -x assembler-with-cpp -o  
-I${REACTOS_SOURCE_DIR}/sdk/include/asm -I${REACTOS_BINARY_DIR}/sdk/include/asm 
   -D__ASM__ -c ")
 
 set(CMAKE_RC_COMPILE_OBJECT " -O coff   
-DRC_INVOKED -D__WIN32__=1 -D__FLAT__=1 ${I18N_DEFS}   
")
-if (CLANG)
-set(GCC_EXECUTABLE ${CMAKE_C_COMPILER_TARGET}-gcc)
+
+if (CMAKE_C_COMPILER_ID STREQUAL "Clang")
+set(RC_PREPROCESSOR_TARGET 
"--preprocessor-arg=--target=${CMAKE_C_COMPILER_TARGET}")
 else()
-set(GCC_EXECUTABLE ${CMAKE_C_COMPILER})
+set(RC_PREPROCESSOR_TARGET "")
 endif()
 
-set(CMAKE_DEPFILE_FLAGS_RC "--preprocessor \"${GCC_EXECUTABLE} -E -xc-header 
-MMD -MF  -MT \" ")
+# We have to pass args to windres. one... by... one...
+set(CMAKE_DEPFILE_FLAGS_RC "--preprocessor=\"${CMAKE_C_COMPILER}\" 
${RC_PREPROCESSOR_TARGET} --preprocessor-arg=-E --preprocessor-arg=-nostdinc 
--preprocessor-arg=-xc-header --preprocessor-arg=-MMD --preprocessor-arg=-MF 
--preprocessor-arg= --preprocessor-arg=-MT 
--preprocessor-arg=")
 
 # Optional 3rd parameter: stdcall stack bytes
 function(set_entrypoint MODULE ENTRYPOINT)
diff --git a/subsystems/mvdm/pifmgr/CMakeLists.txt 
b/subsystems/mvdm/pifmgr/CMakeLists.txt
index 31b82ca784c..9dcae9f691c 100644
--- a/subsystems/mvdm/pifmgr/CMakeLists.txt
+++ b/subsystems/mvdm/pifmgr/CMakeLists.txt
@@ -2,5 +2,6 @@
 file(GLOB pifmgr_rc_deps "res/*.*" "res_alt/*.*")
 add_rc_deps(pifmgr.rc ${pifmgr_rc_deps})
 add_library(pifmgr MODULE pifmgr.rc)
+add_dependencies(pifmgr psdk)
 set_module_type(pifmgr module UNICODE)
 add_cd_file(TARGET pifmgr DESTINATION reactos/system32 FOR all)



[ros-diffs] [reactos] 01/05: [BOOTDATA] Include EveryoneIncludesAnonymous registry value on Lsa system key

2021-04-27 Thread George Bișoc
https://git.reactos.org/?p=reactos.git;a=commitdiff;h=d28d2eb5f825f2b9b8bf1ddfadc0e234299ef7e2

commit d28d2eb5f825f2b9b8bf1ddfadc0e234299ef7e2
Author: George Bișoc 
AuthorDate: Thu Mar 25 10:21:13 2021 +0100
Commit: George Bișoc 
CommitDate: Tue Apr 27 12:25:03 2021 +0200

[BOOTDATA] Include EveryoneIncludesAnonymous registry value on Lsa system 
key

For further information

https://docs.microsoft.com/en-us/windows/win32/api/securitybaseapi/nf-securitybaseapi-impersonateanonymoustoken
---
 boot/bootdata/hivesys.inf | 1 +
 1 file changed, 1 insertion(+)

diff --git a/boot/bootdata/hivesys.inf b/boot/bootdata/hivesys.inf
index fc218fed6a6..28b89e2c115 100644
--- a/boot/bootdata/hivesys.inf
+++ b/boot/bootdata/hivesys.inf
@@ -894,6 +894,7 @@ HKLM,"SYSTEM\CurrentControlSet\Control\Keyboard 
Layout\DosKeybIDs","00020408",2,
 
 ; Lsa
 HKLM,"SYSTEM\CurrentControlSet\Control\Lsa","Authentication 
Packages",0x0001,"msv1_0"
+HKLM,"SYSTEM\CurrentControlSet\Control\Lsa","EveryoneIncludesAnonymous",0x00010001,0
 
HKLM,"SYSTEM\CurrentControlSet\Control\Lsa\FipsAlgorithmPolicy","Enabled",0x00010001,0
 
 ; Network



[ros-diffs] [reactos] 03/05: [NTOS:SE] Add the declaration prototype of SepRegQueryHelper in the internal header

2021-04-27 Thread George Bișoc
https://git.reactos.org/?p=reactos.git;a=commitdiff;h=12c69e6d6325403ecf54108f2f11bff12e6af05a

commit 12c69e6d6325403ecf54108f2f11bff12e6af05a
Author: George Bișoc 
AuthorDate: Thu Mar 25 20:47:30 2021 +0100
Commit: George Bișoc 
CommitDate: Tue Apr 27 12:25:03 2021 +0200

[NTOS:SE] Add the declaration prototype of SepRegQueryHelper in the 
internal header
---
 ntoskrnl/include/internal/se.h | 9 +
 1 file changed, 9 insertions(+)

diff --git a/ntoskrnl/include/internal/se.h b/ntoskrnl/include/internal/se.h
index ed5989c7054..727060af822 100644
--- a/ntoskrnl/include/internal/se.h
+++ b/ntoskrnl/include/internal/se.h
@@ -573,6 +573,15 @@ SeCopyClientToken(
 OUT PACCESS_TOKEN* NewToken
 );
 
+NTSTATUS
+NTAPI
+SepRegQueryHelper(
+_In_ PCWSTR KeyName,
+_In_ PCWSTR ValueName,
+_In_ ULONG ValueType,
+_In_ ULONG DataLength,
+_Out_ PVOID ValueData);
+
 VOID NTAPI
 SeQuerySecurityAccessMask(IN SECURITY_INFORMATION SecurityInformation,
   OUT PACCESS_MASK DesiredAccess);



[ros-diffs] [reactos] 04/05: [NTOS:SE] Implement the NtImpersonateAnonymousToken system call

2021-04-27 Thread George Bișoc
https://git.reactos.org/?p=reactos.git;a=commitdiff;h=44fb528fcc0fe0ea65bbbe953a015f302983a65e

commit 44fb528fcc0fe0ea65bbbe953a015f302983a65e
Author: George Bișoc 
AuthorDate: Thu Mar 25 21:48:38 2021 +0100
Commit: George Bișoc 
CommitDate: Tue Apr 27 12:25:03 2021 +0200

[NTOS:SE] Implement the NtImpersonateAnonymousToken system call

Implement SepImpersonateAnonymousToken private helpers, which is necessary 
for the complete implementation of NtImpersonateAnonymousToken function and 
thus finally we're able to impersonate the anonymous logon token.
---
 ntoskrnl/se/token.c   | 172 --
 sdk/include/ndk/sefuncs.h |   2 +-
 2 files changed, 168 insertions(+), 6 deletions(-)

diff --git a/ntoskrnl/se/token.c b/ntoskrnl/se/token.c
index d38fe29517e..1849a16c3a7 100644
--- a/ntoskrnl/se/token.c
+++ b/ntoskrnl/se/token.c
@@ -363,6 +363,119 @@ Quit:
 return STATUS_SUCCESS;
 }
 
+/**
+ * @brief
+ * Private function that impersonates the system's anonymous logon token.
+ * The major bulk of the impersonation procedure is done here.
+ *
+ * @param[in] Thread
+ * The executive thread object that is to impersonate the client.
+ *
+ * @param[in] PreviousMode
+ * The access processor mode, indicating if the call is executed
+ * in kernel or user mode.
+ *
+ * @return
+ * Returns STATUS_SUCCESS if the impersonation has succeeded.
+ * STATUS_UNSUCCESSFUL is returned if the primary token couldn't be
+ * obtained from the current process to perform additional tasks.
+ * STATUS_ACCESS_DENIED is returned if the process' primary token is
+ * restricted, which for this matter we cannot impersonate onto a
+ * restricted process. Otherwise a failure NTSTATUS code is returned.
+ */
+static
+NTSTATUS
+SepImpersonateAnonymousToken(
+_In_ PETHREAD Thread,
+_In_ KPROCESSOR_MODE PreviousMode)
+{
+NTSTATUS Status;
+PTOKEN TokenToImpersonate, ProcessToken;
+ULONG IncludeEveryoneValueData;
+PAGED_CODE();
+
+/*
+ * We must check first which kind of token
+ * shall we assign for the thread to impersonate,
+ * the one with Everyone Group SID or the other
+ * without. Invoke the registry helper to
+ * return the data value for us.
+ */
+Status = 
SepRegQueryHelper(L"\\Registry\\Machine\\SYSTEM\\CurrentControlSet\\Control\\Lsa",
+   L"EveryoneIncludesAnonymous",
+   REG_DWORD,
+   sizeof(IncludeEveryoneValueData),
+   );
+if (!NT_SUCCESS(Status))
+{
+DPRINT1("SepRegQueryHelper(): Failed to query the registry value 
(Status 0x%lx)\n", Status);
+return Status;
+}
+
+if (IncludeEveryoneValueData == 0)
+{
+DPRINT("SepImpersonateAnonymousToken(): Assigning the token not 
including the Everyone Group SID...\n");
+TokenToImpersonate = SeAnonymousLogonTokenNoEveryone;
+}
+else
+{
+DPRINT("SepImpersonateAnonymousToken(): Assigning the token including 
the Everyone Group SID...\n");
+TokenToImpersonate = SeAnonymousLogonToken;
+}
+
+/*
+ * Tell the object manager that we're going to use this token
+ * object now by incrementing the reference count.
+*/
+Status = ObReferenceObjectByPointer(TokenToImpersonate,
+TOKEN_IMPERSONATE,
+SeTokenObjectType,
+PreviousMode);
+if (!NT_SUCCESS(Status))
+{
+DPRINT1("SepImpersonateAnonymousToken(): Couldn't be able to use the 
token, bail out...\n");
+return Status;
+}
+
+/*
+ * Reference the primary token of the current process that the anonymous
+ * logon token impersonation procedure is being performed. We'll be going
+ * to use the process' token to figure out if the process is actually
+ * restricted or not.
+ */
+ProcessToken = PsReferencePrimaryToken(PsGetCurrentProcess());
+if (!ProcessToken)
+{
+DPRINT1("SepImpersonateAnonymousToken(): Couldn't be able to get the 
process' primary token, bail out...\n");
+ObDereferenceObject(TokenToImpersonate);
+return STATUS_UNSUCCESSFUL;
+}
+
+/* Now, is the token from the current process restricted? */
+if (SeTokenIsRestricted(ProcessToken))
+{
+DPRINT1("SepImpersonateAnonymousToken(): The process is restricted, 
can't do anything. Bail out...\n");
+PsDereferencePrimaryToken(ProcessToken);
+ObDereferenceObject(TokenToImpersonate);
+return STATUS_ACCESS_DENIED;
+}
+
+/*
+ * Finally it's time to impersonate! But first, fast dereference the
+ * process' primary token as we no longer need it.
+ */
+ObFastDereferenceObject(()->Token, ProcessToken);
+Status = PsImpersonateClient(Thread, TokenToImpersonate, TRUE, FALSE, 
SecurityImpersonation);
+if 

[ros-diffs] [reactos] 05/05: [NTDLL_APITEST] Implement NtImpersonateAnonymousToken testcase

2021-04-27 Thread George Bișoc
https://git.reactos.org/?p=reactos.git;a=commitdiff;h=5222eae73085ed04404d2d712868a1b2c784faaf

commit 5222eae73085ed04404d2d712868a1b2c784faaf
Author: George Bișoc 
AuthorDate: Fri Mar 26 13:38:04 2021 +0100
Commit: George Bișoc 
CommitDate: Tue Apr 27 12:25:03 2021 +0200

[NTDLL_APITEST] Implement NtImpersonateAnonymousToken testcase
---
 modules/rostests/apitests/ntdll/CMakeLists.txt |   1 +
 .../apitests/ntdll/NtImpersonateAnonymousToken.c   | 112 +
 modules/rostests/apitests/ntdll/testlist.c |   2 +
 3 files changed, 115 insertions(+)

diff --git a/modules/rostests/apitests/ntdll/CMakeLists.txt 
b/modules/rostests/apitests/ntdll/CMakeLists.txt
index c8f9cbc207e..24844b98f4b 100644
--- a/modules/rostests/apitests/ntdll/CMakeLists.txt
+++ b/modules/rostests/apitests/ntdll/CMakeLists.txt
@@ -18,6 +18,7 @@ list(APPEND SOURCE
 NtDeleteKey.c
 NtDuplicateObject.c
 NtFreeVirtualMemory.c
+NtImpersonateAnonymousToken.c
 NtLoadUnloadKey.c
 NtMapViewOfSection.c
 NtMutant.c
diff --git a/modules/rostests/apitests/ntdll/NtImpersonateAnonymousToken.c 
b/modules/rostests/apitests/ntdll/NtImpersonateAnonymousToken.c
new file mode 100644
index 000..22a81ba5785
--- /dev/null
+++ b/modules/rostests/apitests/ntdll/NtImpersonateAnonymousToken.c
@@ -0,0 +1,112 @@
+/*
+ * PROJECT: ReactOS API tests
+ * LICENSE: GPL-2.0-or-later 
(https://spdx.org/licenses/GPL-2.0-or-later)
+ * PURPOSE: Tests for the NtImpersonateAnonymousToken API
+ * COPYRIGHT:   Copyright 2021 George Bișoc 
+ */
+
+#include "precomp.h"
+#include 
+
+#define TOKEN_WITH_EVERYONE_GROUP1
+#define TOKEN_WITHOUT_EVERYONE_GROUP 0
+
+static
+HANDLE
+GetThreadFromCurrentProcess(_In_ DWORD DesiredAccess)
+{
+HANDLE Thread;
+
+Thread = OpenThread(DesiredAccess, FALSE, GetCurrentThreadId());
+if (!Thread)
+{
+skip("OpenThread() has failed to open the current process' thread 
(error code: %lu)\n", GetLastError());
+return NULL;
+}
+
+return Thread;
+}
+
+static
+VOID
+ImpersonateTokenWithEveryoneOrWithout(_In_ DWORD Value)
+{
+LONG Result;
+HKEY Key;
+
+Result = RegOpenKeyExW(HKEY_LOCAL_MACHINE,
+   L"SYSTEM\\CurrentControlSet\\Control\\Lsa",
+   0,
+   KEY_SET_VALUE,
+   );
+if (Result != ERROR_SUCCESS)
+{
+skip("RegOpenKeyExW() has failed to open the key (error code: %li)\n", 
Result);
+return;
+}
+
+Result = RegSetValueExW(Key,
+L"EveryoneIncludesAnonymous",
+0,
+REG_DWORD,
+(PBYTE),
+sizeof(Value));
+if (Result != ERROR_SUCCESS)
+{
+skip("RegSetValueExW() has failed to set the value (error code: 
%li)\n", Result);
+RegCloseKey(Key);
+return;
+}
+
+RegCloseKey(Key);
+}
+
+START_TEST(NtImpersonateAnonymousToken)
+{
+NTSTATUS Status;
+BOOL Success;
+HANDLE ThreadHandle;
+
+ThreadHandle = GetThreadFromCurrentProcess(THREAD_IMPERSONATE);
+
+/* We give an invalid thread handle */
+Status = NtImpersonateAnonymousToken(NULL);
+ok_hex(Status, STATUS_INVALID_HANDLE);
+
+/* We want to impersonate the token including Everyone Group SID */
+ImpersonateTokenWithEveryoneOrWithout(TOKEN_WITH_EVERYONE_GROUP);
+
+/* Impersonate the anonymous logon token */
+Status = NtImpersonateAnonymousToken(ThreadHandle);
+ok_hex(Status, STATUS_SUCCESS);
+
+/* Now revert to the previous security properties */
+Success = RevertToSelf();
+ok(Success == TRUE, "We should have terminated the impersonation but we 
couldn't (error code: %lu)\n", GetLastError());
+
+/* Return to default setting -- token without Everyone Group SID */
+ImpersonateTokenWithEveryoneOrWithout(TOKEN_WITHOUT_EVERYONE_GROUP);
+
+/* Impersonate the anonymous logon token again */
+Status = NtImpersonateAnonymousToken(ThreadHandle);
+ok_hex(Status, STATUS_SUCCESS);
+
+/* Now revert to the previous security properties */
+Success = RevertToSelf();
+ok(Success == TRUE, "We should have terminated the impersonation but we 
couldn't (error code: %lu)\n", GetLastError());
+
+/*
+ * Invalidate the handle and open a new one. This time
+ * with the wrong access right mask, the function will
+ * outright fail on impersonating the token.
+ */
+CloseHandle(ThreadHandle);
+ThreadHandle = GetThreadFromCurrentProcess(SYNCHRONIZE);
+
+/* The thread handle has incorrect right access */
+Status = NtImpersonateAnonymousToken(ThreadHandle);
+ok_hex(Status, STATUS_ACCESS_DENIED);
+
+/* We're done with the tests */
+CloseHandle(ThreadHandle);
+}
diff --git a/modules/rostests/apitests/ntdll/testlist.c 
b/modules/rostests/apitests/ntdll/testlist.c
index 

[ros-diffs] [reactos] 02/05: [NTOS:SE] Annotate the function parameters of SepRegQueryHelper with SAL

2021-04-27 Thread George Bișoc
https://git.reactos.org/?p=reactos.git;a=commitdiff;h=b68216e503cc52f81ce9cc641b963f683745e91b

commit b68216e503cc52f81ce9cc641b963f683745e91b
Author: George Bișoc 
AuthorDate: Thu Mar 25 13:05:49 2021 +0100
Commit: George Bișoc 
CommitDate: Tue Apr 27 12:25:03 2021 +0200

[NTOS:SE] Annotate the function parameters of SepRegQueryHelper with SAL

And add a documentation comment header
---
 ntoskrnl/se/srm.c | 35 +--
 1 file changed, 29 insertions(+), 6 deletions(-)

diff --git a/ntoskrnl/se/srm.c b/ntoskrnl/se/srm.c
index 6517d997c1d..468b724f2da 100644
--- a/ntoskrnl/se/srm.c
+++ b/ntoskrnl/se/srm.c
@@ -74,14 +74,38 @@ PSEP_LOGON_SESSION_TERMINATED_NOTIFICATION 
SepLogonNotifications = NULL;
 
 /* PRIVATE FUNCTIONS 
**/
 
+/**
+ * @brief
+ * A private registry helper that returns the desired value
+ * data based on the specifics requested by the caller.
+ *
+ * @param[in] KeyName
+ * Name of the key.
+ *
+ * @param[in] ValueName
+ * Name of the registry value.
+ *
+ * @param[in] ValueType
+ * The type of the registry value.
+ *
+ * @param[in] DataLength
+ * The data length, in bytes, representing the size of the registry value.
+ *
+ * @param[out] ValueData
+ * The requested value data provided by the function.
+ *
+ * @return
+ * Returns STATUS_SUCCESS if the operations have completed successfully,
+ * otherwise a failure NTSTATUS code is returned.
+ */
 NTSTATUS
 NTAPI
 SepRegQueryHelper(
-PCWSTR KeyName,
-PCWSTR ValueName,
-ULONG ValueType,
-ULONG DataLength,
-PVOID ValueData)
+_In_ PCWSTR KeyName,
+_In_ PCWSTR ValueName,
+_In_ ULONG ValueType,
+_In_ ULONG DataLength,
+_Out_ PVOID ValueData)
 {
 UNICODE_STRING ValueNameString;
 UNICODE_STRING KeyNameString;
@@ -128,7 +152,6 @@ SepRegQueryHelper(
 goto Cleanup;
 }
 
-
 if (ValueType == REG_BINARY)
 {
 RtlCopyMemory(ValueData, KeyValueInformation.Partial.Data, DataLength);



[ros-diffs] [reactos] 01/01: [ACPI] Improve Russian translation INF file

2021-04-27 Thread Stanislav Motylkov
https://git.reactos.org/?p=reactos.git;a=commitdiff;h=4959ccc8df375cee47d20d14d161da88ca767d1d

commit 4959ccc8df375cee47d20d14d161da88ca767d1d
Author: Stanislav Motylkov 
AuthorDate: Tue Apr 27 23:58:53 2021 +0300
Commit: Stanislav Motylkov 
CommitDate: Tue Apr 27 23:58:53 2021 +0300

[ACPI] Improve Russian translation INF file

Also some minor whitespace fixes
---
 drivers/bus/acpi/acpi.inf | 6 +-
 1 file changed, 5 insertions(+), 1 deletion(-)

diff --git a/drivers/bus/acpi/acpi.inf b/drivers/bus/acpi/acpi.inf
index 67e3dd0b3ef..145f561dfb1 100644
--- a/drivers/bus/acpi/acpi.inf
+++ b/drivers/bus/acpi/acpi.inf
@@ -68,6 +68,7 @@ GenericMfg = "(標準システム デバイス)"
 
 [Strings.0415]
 ReactOS = "Zespół ReactOS"
+
 GenericMfg = "(Standardowe urządzenia systemowe)"
 *PNP0C08.DeviceDesc = "Sprzęt ACPI"
 
@@ -77,6 +78,7 @@ GenericMfg = "(Dispositivos de sistema padrão)"
 
 [Strings.0418]
 ReactOS = "Echipa ReactOS"
+
 GenericMfg = "(dispozitiv de sistem generic)"
 *PNP0C08.DeviceDesc = "Dispozitive ACPI"
 
@@ -84,7 +86,7 @@ GenericMfg = "(dispozitiv de sistem generic)"
 ReactOS = "Команда ReactOS"
 
 GenericMfg = "(Стандартные системные устройства)"
-*PNP0C08.DeviceDesc = "ACPI устройства"
+*PNP0C08.DeviceDesc = "Устройства ACPI"
 
 [Strings.041B]
 GenericMfg = "(Generické systémové zariadenia)"
@@ -97,6 +99,8 @@ GenericMfg = "(Umûmî Dizge Aygıtları)"
 *PNP0C08.DeviceDesc = "ACPI Donanım"
 
 [Strings.0422]
+ReactOS = "Команда ReactOS"
+
 GenericMfg = "(Стандартні системні пристрої)"
 *PNP0C08.DeviceDesc = "Пристрої ACPI"
 



[ros-diffs] [reactos] 01/01: [FC] Add Russian (ru-RU) translation

2021-04-27 Thread Stanislav Motylkov
https://git.reactos.org/?p=reactos.git;a=commitdiff;h=ea1f7249289c399a15f5053cc361737794ef38c8

commit ea1f7249289c399a15f5053cc361737794ef38c8
Author: Stanislav Motylkov 
AuthorDate: Tue Apr 27 18:40:23 2021 +0300
Commit: Stanislav Motylkov 
CommitDate: Tue Apr 27 18:40:23 2021 +0300

[FC] Add Russian (ru-RU) translation

Addendum to 2db87ebd.
---
 base/applications/cmdutils/fc/lang/ru-RU.rc | 66 ++---
 1 file changed, 33 insertions(+), 33 deletions(-)

diff --git a/base/applications/cmdutils/fc/lang/ru-RU.rc 
b/base/applications/cmdutils/fc/lang/ru-RU.rc
index b3f0698943c..64d99eabc8f 100644
--- a/base/applications/cmdutils/fc/lang/ru-RU.rc
+++ b/base/applications/cmdutils/fc/lang/ru-RU.rc
@@ -2,40 +2,40 @@ LANGUAGE LANG_RUSSIAN, SUBLANG_DEFAULT
 
 STRINGTABLE
 BEGIN
-IDS_USAGE "Compares two files or sets of files and displays the 
differences between\n\
-them\n\
+IDS_USAGE "Сравнение двух файлов или двух наборов файлов\n\
+и вывод различий между ними\n\
 \n\
 FC [/A] [/C] [/L] [/LBn] [/N] [/OFF[LINE]] [/T] [/U] [/W] [/]\n\
-   [drive1:][path1]filename1 [drive2:][path2]filename2\n\
-FC /B [drive1:][path1]filename1 [drive2:][path2]filename2\n\
+   [диск1:][путь1]имя_файла1 [диск2:][путь2]имя_файла2\n\
+FC /B [диск1:][путь1]имя_файла1 [диск2:][путь2]имя_файла2\n\
 \n\
-  /A Displays only first and last lines for each set of differences.\n\
-  /B Performs a binary comparison.\n\
-  /C Disregards the case of letters.\n\
-  /L Compares files as ASCII text.\n\
-  /LBn   Sets the maximum consecutive mismatches to the specified\n\
- number of lines (default: 100).\n\
-  /N Displays the line numbers on an ASCII comparison.\n\
-  /OFF[LINE] Doesn't skip files with offline attribute set.\n\
-  /T Doesn't expand tabs to spaces (default: expand).\n\
-  /U Compare files as UNICODE text files.\n\
-  /W Compresses white space (tabs and spaces) for comparison.\n\
-  /  Specifies the number of consecutive lines that must match\n\
- after a mismatch (default: 2).\n\
-  [drive1:][path1]filename1\n\
- Specifies the first file or set of files to compare.\n\
-  [drive2:][path2]filename2\n\
- Specifies the second file or set of files to compare.\n"
-IDS_NO_DIFFERENCE "FC: no differences encountered\n"
-IDS_LONGER_THAN "FC: %ls longer than %ls\n"
-IDS_COMPARING "Comparing files %ls and %ls\n"
-IDS_OUT_OF_MEMORY "FC: Out of memory\n"
-IDS_CANNOT_READ "FC: cannot read from %ls\n"
-IDS_INVALID_SWITCH "FC: Invalid Switch\n"
-IDS_CANNOT_OPEN "FC: cannot open %ls - No such file or folder\n"
-IDS_NEEDS_FILES "FC: Insufficient number of file specifications\n"
-IDS_CANT_USE_WILDCARD "Wildcard ('*' and '?') are not supported yet\n"
-IDS_DIFFERENT "FC: File %ls and %ls are different\n"
-IDS_TOO_LARGE "FC: File %ls too large\n"
-IDS_RESYNCH_FAILED "Resynch failed. Files are too different.\n"
+  /A Вывод только первой и последней строк для каждой группы 
различий.\n\
+  /B Сравнение двоичных файлов.\n\
+  /C Сравнение без учёта регистра символов.\n\
+  /L Сравнение файлов в формате ASCII.\n\
+  /LBn   Максимальное число несоответствий\n\
+ для заданного числа строк (по умолчанию: 100).\n\
+  /N Вывод номеров строк при сравнении текстовых файлов ASCII.\n\
+  /OFF[LINE] Не пропускать файлы с установленным атрибутом ""Автономный"".\n\
+  /T Не заменять символы табуляции пробелами (по умолчанию: 
заменяет).\n\
+  /U Сравнение файлов в формате UNICODE.\n\
+  /W Пропуск пробелов и символов табуляции при сравнении.\n\
+  /  Число последовательных совпадающих строк, которое\n\
+ должно встретиться после группы несовпадающих (по умолчанию: 
2).\n\
+  [диск1:][путь1]имя_файла1\n\
+ Указывает первый файл или набор файлов для сравнения.\n\
+  [диск2:][путь2]имя_файла2\n\
+ Указывает второй файл или набор файлов для сравнения.\n"
+IDS_NO_DIFFERENCE "FC: различия не найдены\n"
+IDS_LONGER_THAN "FC: %ls длиннее, чем %ls\n"
+IDS_COMPARING "Сравнение файлов %ls и %ls\n"
+IDS_OUT_OF_MEMORY "FC: Недостаточно памяти\n"
+IDS_CANNOT_READ "FC: не удаётся прочитать %ls\n"
+IDS_INVALID_SWITCH "FC: Недопустимый ключ\n"
+IDS_CANNOT_OPEN "FC: не удаётся открыть %ls - файл либо папка не 
существует\n"
+IDS_NEEDS_FILES "FC: Недостаточное количество имён файлов\n"
+IDS_CANT_USE_WILDCARD "Подстановочные знаки ('*' и '?') пока не 
поддерживаются\n"
+IDS_DIFFERENT "FC: Файлы %ls и %ls различны\n"
+IDS_TOO_LARGE "FC: Файл %ls слишком большой\n"
+IDS_RESYNCH_FAILED "Не удаётся синхронизировать строки. Слишком много 
различий между файлами.\n"
 END



[ros-diffs] [reactos] 01/01: [FC] Add the Polish translation (#3629)

2021-04-27 Thread Piotr Hetnarowicz
https://git.reactos.org/?p=reactos.git;a=commitdiff;h=622c226e2ed1ea6c44374d334cc33ba9c788d54a

commit 622c226e2ed1ea6c44374d334cc33ba9c788d54a
Author: Piotr Hetnarowicz <40692062+pit...@users.noreply.github.com>
AuthorDate: Tue Apr 27 11:20:56 2021 +0200
Commit: GitHub 
CommitDate: Tue Apr 27 11:20:56 2021 +0200

[FC] Add the Polish translation (#3629)
---
 base/applications/cmdutils/fc/lang/pl-PL.rc | 73 -
 1 file changed, 40 insertions(+), 33 deletions(-)

diff --git a/base/applications/cmdutils/fc/lang/pl-PL.rc 
b/base/applications/cmdutils/fc/lang/pl-PL.rc
index cada1840f52..1d537912716 100644
--- a/base/applications/cmdutils/fc/lang/pl-PL.rc
+++ b/base/applications/cmdutils/fc/lang/pl-PL.rc
@@ -1,41 +1,48 @@
+/*
+ * PROJECT: ReactOS FC Command
+ * LICENSE: GPL-2.0-or-later (https://spdx.org/licenses/GPL-2.0-or-later)
+ * PURPOSE: Polish language translation
+ * TRANSLATORS: Copyright 2021 Piotr Hetnarowicz 
+ */
+
 LANGUAGE LANG_POLISH, SUBLANG_DEFAULT
 
 STRINGTABLE
 BEGIN
-IDS_USAGE "Compares two files or sets of files and displays the 
differences between\n\
-them\n\
+IDS_USAGE "Porównuje dwa pliki lub zestawy plików i wyświetla różnice 
między\n\
+nimi\n\
 \n\
 FC [/A] [/C] [/L] [/LBn] [/N] [/OFF[LINE]] [/T] [/U] [/W] [/]\n\
-   [drive1:][path1]filename1 [drive2:][path2]filename2\n\
-FC /B [drive1:][path1]filename1 [drive2:][path2]filename2\n\
+   [dysk1:][ścieżka1]plik1 [dysk2:][ścieżka2]plik2\n\
+FC /B [dysk1:][ścieżka1]plik1 [dysk2:][ścieżka2]plik2\n\
 \n\
-  /A Displays only first and last lines for each set of differences.\n\
-  /B Performs a binary comparison.\n\
-  /C Disregards the case of letters.\n\
-  /L Compares files as ASCII text.\n\
-  /LBn   Sets the maximum consecutive mismatches to the specified\n\
- number of lines (default: 100).\n\
-  /N Displays the line numbers on an ASCII comparison.\n\
-  /OFF[LINE] Doesn't skip files with offline attribute set.\n\
-  /T Doesn't expand tabs to spaces (default: expand).\n\
-  /U Compare files as UNICODE text files.\n\
-  /W Compresses white space (tabs and spaces) for comparison.\n\
-  /  Specifies the number of consecutive lines that must match\n\
- after a mismatch (default: 2).\n\
-  [drive1:][path1]filename1\n\
- Specifies the first file or set of files to compare.\n\
-  [drive2:][path2]filename2\n\
- Specifies the second file or set of files to compare.\n"
-IDS_NO_DIFFERENCE "FC: no differences encountered\n"
-IDS_LONGER_THAN "FC: %ls longer than %ls\n"
-IDS_COMPARING "Comparing files %ls and %ls\n"
-IDS_OUT_OF_MEMORY "FC: Out of memory\n"
-IDS_CANNOT_READ "FC: cannot read from %ls\n"
-IDS_INVALID_SWITCH "FC: Invalid Switch\n"
-IDS_CANNOT_OPEN "FC: cannot open %ls - No such file or folder\n"
-IDS_NEEDS_FILES "FC: Insufficient number of file specifications\n"
-IDS_CANT_USE_WILDCARD "Wildcard ('*' and '?') are not supported yet\n"
-IDS_DIFFERENT "FC: File %ls and %ls are different\n"
-IDS_TOO_LARGE "FC: File %ls too large\n"
-IDS_RESYNCH_FAILED "Resynch failed. Files are too different."
+  /A Wyświetla tylko pierwszy i ostatni wiersz każdego zestawu 
różnic.\n\
+  /B Wykonuje porównanie binarne.\n\
+  /C Nie rozróżnia wielkich i małych liter.\n\
+  /L Porównuje pliki jako tekst ASCII.\n\
+  /LBn   Ustala maksymalną liczbę kolejnych wystąpień niezgodności\n\
+ na określoną liczbę wierszy (domyślnie: 100).\n\
+  /N Przy porównaniu ASCII wyświetla numery wierszy.\n\
+  /OFF[LINE] Nie pomija plików z ustawionym atrybutem przesunięcia.\n\
+  /T Nie zamienia tabulatorów na spacje (domyślnie: zamienia).\n\
+  /U Porównuje pliki jako pliki tekstowe UNICODE.\n\
+  /W Kompresuje do porównania białe znaki (tabulatory i spacje).\n\
+  /  Określa liczbę kolejnych wierszy, które muszą być zgodne\n\
+ po wystąpieniu niezgodności (domyślnie: 2).\n\
+  [dysk1:][ścieżka1]plik1\n\
+ Określa pierwszy plik lub zestaw plików do porównania.\n\
+  [dysk2:][ścieżka2]plik2\n\
+ Określa drugi plik lub zestaw plików do porównania.\n"
+IDS_NO_DIFFERENCE "FC: nie stwierdzono różnic\n"
+IDS_LONGER_THAN "FC: %ls jest dłuższy niż %ls\n"
+IDS_COMPARING "Porównywanie plików %ls i %ls\n"
+IDS_OUT_OF_MEMORY "FC: Za mało pamięci\n"
+IDS_CANNOT_READ "FC: nie można otworzyć %ls\n"
+IDS_INVALID_SWITCH "FC: nieprawidłowy przełącznik\n"
+IDS_CANNOT_OPEN "FC: nie można otworzyć %ls - nie ma takiego pliku lub 
folderu\n"
+IDS_NEEDS_FILES "FC: nie określono wystarczającej liczby plików\n"
+IDS_CANT_USE_WILDCARD "Symbole wieloznaczne ('*' i '?') nie są jeszcze 
obsługiwane\n"
+IDS_DIFFERENT "FC: pliki %ls i %ls różnią się\n"
+IDS_TOO_LARGE "FC: plik %ls jest za duży\n"
+