- 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.
svn path=/trunk/; revision=73025
- 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.
svn path=/trunk/; revision=73024
- 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).
CORE-12178
svn path=/trunk/; revision=72996
- 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.
svn path=/trunk/; revision=72995
- 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).
svn path=/trunk/; revision=72993
Replace error codes that don't even exist in MS headers (but they are referenced on MSDN?!)
Replace their usage in code
svn path=/trunk/; revision=72991
- Let the zero page thread decide itself whether it is active or not.
- Raise the low memory limit for our good old balancer
- Allow the balancer thread to wait for a page to be freed, with a lower limit than for "regular" page faults
- Let ARM3 notify RosMm when a page gets freed
CORE-12047 #comment Whole patch got in in r72988, 72989 and 72990
svn path=/trunk/; revision=72990
Miscellaneous fixes for legacy Mm section implementation
- Always allocate a private page for IMAGE_SCN_CNT_UNINITIALIZED_DATA
- Make sure a shared page is present before writing on a COW mapping and making a private copy.
- Fix a race condition : when paging out a file section, old Mm lists all of the process maps, removing them one after the other and lowering the page reference count in the process. Sometimes a page fault occur in the process, the mapping is added, but the page refcount is not bumped because it requires locking the corresponding segment. Manage page refcount under segment lock.
CORE-12047
svn path=/trunk/; revision=72989
- Acquire Paging IO Resource shared when performing paged writes
Greenlighted by Pierre and tests.
CORE-12184 #resolve
svn path=/trunk/; revision=72987
- Improve the checks done for the tests;
- Add a new test (Test7) that tests the allowed console window sizes wrt. the csbi.dwMaximumWindowSize size.
svn path=/trunk/; revision=72985
This makes all the kernel32_apitest:SetConsoleWindowInfo tests pass now.
Also, notify the console window about the size change.
svn path=/trunk/; revision=72984
- 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.
svn path=/trunk/; revision=72983