Hermes Belusca-Maito

[CMAKE]: Introduce a evil workaround for the problem described in CORE-12205/CORE-12206, that was unveiled by commit r73024. CMake gurus, please review & make suggestions! :)
    • -0
    • +16
[WLANCONF]: Addendum to r73024.
[MORE]: Rewrite almost completely the MORE command, taking advantage of the console pager functionality of the ConUtils library (see CORE-10504 and commit r73024).

- When displaying files, display the percentage of file read so far in the "Continue" prompt. Otherwise (when being piped or feeded from StdIn), just display the "Continue" prompt without percentage.

- Try to detect the text file encoding (ANSI, UTF16-BE/BE w/ or w/o BOM; UTF-8 to do!!) before displaying it. See the code for more details.

NOTE that the other functionalities of more (being able to scroll one line at a time, other command-line switches, etc...) are still not implemented yet.

  1. … 10 more files in changeset.

- Introduce new functionalities related to console streams, a console screen management api (almost stubbed), a console pager api (adapted from code from CMD). This new functionality will be used in the future. See CORE-10504 for more details.

- As this library is therefore growing up, split it in small parts (sublibraries) that can be used, with the following dependency scheme: base utils (standalone); streams depending on base; screen depending on streams; pager depending on screen.

[APPS]: As a result, modify the CMakeLists of the different apps that use conutils to make them depend on the correct sublibrary.

    • -0
    • +246
    • -1
    • +1
    • -0
    • +47
    • -1
    • +1
    • -0
    • +148
    • -0
    • +175
    • -879
    • +0
    • -1
    • +1
    • -0
    • +1012
    • -233
    • +8
    • -0
    • +58
    • -0
    • +43
  1. … 10 more files in changeset.
[MODE]: Forgot this change too (related to kbd rate before delay).
[CLIP]: Check read status before number of bytes read. Update main resource file.

[COMP]: Code style fix; remove an unused define.

[EVENTCREATE]: Remove an unused define.


- Remove unneeded headers; minor code formatting.

- Remove an unused define.

- Add placeholder Czech resource translation.

[MODE]: Update translation (part 2/x); show the keyboard rate before the delay.

[ADVAPI32_APITEST]: I wasn't alone for writing these tests!
[MODE]: Adjust german resources.
[KS]: Fix annotations, etc.
    • -16
    • +12
[CMD]: Documentation improvement: we actually support two types of filename completions, windows-cmd like (the default one), and "bash-style" one (that is available through a compile switch). I prefer calling it "bash-style" over "unix-style" because this style of completion looks like the one from the GNU ReadLine library, that is used by Bash, which is not exclusive to unix per se...
  1. … 7 more files in changeset.
[KERNEL32]: Mark Get/SetEnvironmentVariableA/W as hotpatchable since it's needed for Clink 0.4.8 (<rant>btw, if GCC was able to set exported stdcall functions as hotpatchable at a global level, as MSVC does, those "DECLSPEC_HOTPATCH" hacks would not be necessary! </rant>)

- Localization of output based on a patch by Lee Schroeder, but where I haven't modified yet the output localization of errors.

- Dynamically underline the headers of the device status reports (by me).


    • -0
    • +47

- Rearrange ResizeTextConsole so that it correctly computes the Top & Bottom parts of the window size rectangle;

- Fix its return type;

- Display an error if we failed resizing the console;

- Clear the screen before resizing the console, as the real MODE.COM does.

- Fix a parsing error in SetConsoleStateOld and in SetConsoleCPState.

[MODE]: Code style changes + remove unused parameter for ResizeTextConsole.

- Call TermGetLargestConsoleWindowSize to obtain the largest console window size allowed on the system, and use it for GetConsoleScreenBufferInfo and for SetConsoleWindowInfo too, where it is used to check if the given user window size is not too large.

- Improve GuiGetLargestConsoleWindowSize for multi-monitor situations.

- Remove the redundant definition of GetScreenBufferSizeUnits in guiterm.c (it already exists in conwnd.c).

[CONSRV]: Code style changes only.
[KERNEL32_APITEST]: SetConsoleWindowInfo test:

- Improve the checks done for the tests;

- Add a new test (Test7) that tests the allowed console window sizes wrt. the csbi.dwMaximumWindowSize size.

[CONSRV]: Fixes for SetConsoleWindowInfo, where one notices that again the MSDN documentation on SetConsoleWindowInfo is partially wrong.

This makes all the kernel32_apitest:SetConsoleWindowInfo tests pass now.

Also, notify the console window about the size change.

[CONSRV]: Minor fixes:

- Use GetSystemWindowsDirectoryW instead of GetWindowsDirectoryW inside "TranslateConsoleName";

- Don't add scrollbars by default to the console window when it's being created;

- Fix the 2nd parameter of MapVirtualKeyW call;

- Two code style changes in text.c and tuiterm.c.

[KERNEL32_APITEST]: Imprrove the SetConsoleWindowInfo test (add a new test case, and now correctly restores the console size after all the tests are done).
[KERNEL32_APITEST]: Commit a test for SetConsoleWindowInfo.
[MODE]: Numerous fixes for the MODE utility:

- Parse the command line the same peculiar way as Windows' tool. This is certainly done such as to be backwards-compatible with MS-DOS' tool.

- Fix serial port string parsing, based on Wine's dll/win32/kernel32/wine/comm.c code. Note that the BuildCommDCB kernel32 API has the same syntax :)

- Implement support for MODE CON codepage, as well as screen size and typematic settings. Screen size code is based on NTVDM's one and will be subject to fixes later on.

MISSING stuff:

- LPT/COM port redirection.

- Localization :)

CORE-12176 #resolve

CORE-7998 CORE-8001

    • -286
    • +946
[WINETESTS/SETUPAPI]: setupapi/tests: Determine path to system32 directory at runtime. Synced from Wine-Staging commit 92510a34ed9ec67fec4e580a5c73b8b53c216734

ROSTESTS-234 #comment Updated in r72958.

[CMD]: Fix the "TYPE" command so that it doesn't interpret the optional /P switch as a filename.

- Improve the screen pager so that it looks a bit more like MORE's one: display full screen pages, where only the last line contains the "press any key..." prompt, and erase this prompt when a key is pressed and before displaying the other screen page.

- GetScreenSize parameters are pointers (so use NULL instead of 0);

- Use ARRAYSIZE instead of hardcoding buffer number of elements;

- Simplify PrintInfoLine() (use read-only resource string buffer returned by LoadString instead of a temporary buffer, since we are just interested in the counted string).

    • -1
    • +1
    • -3
    • +5
    • -1
    • +16
    • -8
    • +17

- Fix typo in STRING_MEMMORY_xxx symbols (memmory -> memory);

- Remove the trailing newline for the STRING_MISC_HELP1 page prompt, as part of reworking it a bit (see next commit);

- Code formatting in type.c as I'll touch it after.

    • -2
    • +2
    • -2
    • +2
    • -12
    • +12
  1. … 9 more files in changeset.
[EVENTCREATE]: Update turkish translation, by Erdem Ersoy.

CORE-12120 #resolve #comment Committed, thanks!


- Use a dynamic-allocated buffer with FormatMessageW, fixes messages disappearance (eg. ping help in russian). CORE-12108 #comment Fixed in r72943.

- Remove the unneeded 1-line function "Usage" and instead just directly call the corresponding PrintString function.

[DEVMGR]: Fix spacing around "ReactOS" in translated strings.
    • -1
    • +1
    • -1
    • +1
    • -1
    • +1
    • -1
    • +1
    • -1
    • +1
    • -1
    • +1
[FLTMC]: Resource strings do not need to be explicitely NULL-terminated, as ATL helpers know how to deal with them.