mirror of
https://github.com/reactos/reactos.git
synced 2024-08-08 04:08:29 +00:00
Patch by Michael Fritscher
Fix /p when screen buffer is larger than output window svn path=/trunk/; revision=7894
This commit is contained in:
parent
88c6922a90
commit
a3c1e6c8c7
|
@ -1,4 +1,4 @@
|
||||||
/* $Id: dir.c,v 1.7 2004/01/16 19:58:47 weiden Exp $
|
/* $Id: dir.c,v 1.8 2004/01/28 17:47:27 gvg Exp $
|
||||||
*
|
*
|
||||||
* DIR.C - dir internal command.
|
* DIR.C - dir internal command.
|
||||||
*
|
*
|
||||||
|
@ -113,6 +113,9 @@
|
||||||
*
|
*
|
||||||
* 23-Feb-2001 (Carl Nettelblad <cnettel@hem.passagen.se>)
|
* 23-Feb-2001 (Carl Nettelblad <cnettel@hem.passagen.se>)
|
||||||
* dir /s now works in deeper trees
|
* dir /s now works in deeper trees
|
||||||
|
*
|
||||||
|
* 28-Jan-2004 (Michael Fritscher <michael@fritscher.net>)
|
||||||
|
* Fix for /p, so it is working under Windows in GUI-mode, too.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#include "config.h"
|
#include "config.h"
|
||||||
|
@ -496,12 +499,23 @@ DirParsePathspec (LPTSTR szPathspec, LPTSTR szPath, LPTSTR szFilespec)
|
||||||
static BOOL
|
static BOOL
|
||||||
IncLine (LPINT pLine, DWORD dwFlags)
|
IncLine (LPINT pLine, DWORD dwFlags)
|
||||||
{
|
{
|
||||||
|
BOOL error;
|
||||||
|
CONSOLE_SCREEN_BUFFER_INFO lpConsoleScreenBufferInfo;
|
||||||
|
LONG WindowHeight;
|
||||||
|
error = GetConsoleScreenBufferInfo(hConsole, &lpConsoleScreenBufferInfo);
|
||||||
|
|
||||||
|
WindowHeight= lpConsoleScreenBufferInfo.srWindow.Bottom - lpConsoleScreenBufferInfo.srWindow.Top;
|
||||||
|
|
||||||
|
if (!WindowHeight) //That prevents bad behave if WindowHeight couln't calc
|
||||||
|
{
|
||||||
|
WindowHeight= 1000000;
|
||||||
|
}
|
||||||
if (!(dwFlags & DIR_PAGE))
|
if (!(dwFlags & DIR_PAGE))
|
||||||
return FALSE;
|
return FALSE;
|
||||||
|
|
||||||
(*pLine)++;
|
(*pLine)++;
|
||||||
|
|
||||||
if (*pLine >= (int)maxy - 2)
|
if (*pLine >= (int)maxy - 2 || *pLine >= WindowHeight) //Because I don't know if WindowsHeight work under all cases, perhaps then maxy is the right value
|
||||||
{
|
{
|
||||||
*pLine = 0;
|
*pLine = 0;
|
||||||
return (PagePrompt () == PROMPT_BREAK);
|
return (PagePrompt () == PROMPT_BREAK);
|
||||||
|
|
Loading…
Reference in a new issue