[ros-diffs] [reactos] 01/01: [JOY] Update Hebrew (he-IL) translation (#3563)
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
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
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
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
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
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
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
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
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
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
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
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
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
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)
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" +