msvc6 compatibility and small performance improvement in filename
completion
Modified: trunk/reactos/subsys/system/cmd/cmd.c
Modified: trunk/reactos/subsys/system/cmd/cmd.h
Modified: trunk/reactos/subsys/system/cmd/cmdinput.c
Modified: trunk/reactos/subsys/system/cmd/color.c
Modified: trunk/reactos/subsys/system/cmd/del.c
Modified: trunk/reactos/subsys/system/cmd/dir.c
Modified: trunk/reactos/subsys/system/cmd/echo.c
Modified: trunk/reactos/subsys/system/cmd/filecomp.c
Modified: trunk/reactos/subsys/system/cmd/history.c
Modified: trunk/reactos/subsys/system/cmd/internal.c
Modified: trunk/reactos/subsys/system/cmd/precomp.h
_____
Modified: trunk/reactos/subsys/system/cmd/cmd.c
--- trunk/reactos/subsys/system/cmd/cmd.c 2005-09-12 14:55:55 UTC
(rev 17818)
+++ trunk/reactos/subsys/system/cmd/cmd.c 2005-09-12 16:06:53 UTC
(rev 17819)
@@ -148,9 +148,9 @@
#define NT_SUCCESS(StatCode) ((NTSTATUS)(StatCode) >= 0)
#endif
-typedef NTSTATUS (STDCALL *NtQueryInformationProcessProc)(HANDLE,
PROCESSINFOCLASS,
+typedef NTSTATUS (WINAPI *NtQueryInformationProcessProc)(HANDLE,
PROCESSINFOCLASS,
PVOID, ULONG,
PULONG);
-typedef NTSTATUS (STDCALL *NtReadVirtualMemoryProc)(HANDLE, PVOID,
PVOID, ULONG, PULONG);
+typedef NTSTATUS (WINAPI *NtReadVirtualMemoryProc)(HANDLE, PVOID,
PVOID, ULONG, PULONG);
BOOL bExit = FALSE; /* indicates EXIT was typed */
BOOL bCanExit = TRUE; /* indicates if this shell is exitable */
@@ -356,7 +356,7 @@
}
else
{
- INT i = 0;
+ UINT i = 0;
BOOL bInside = FALSE;
rest[0] = _T('\0');
full[0] = _T('\0');
@@ -1392,12 +1392,10 @@
#ifdef _DEBUG
- INT x;
-
DebugPrintf (_T("[command args:\n"));
- for (x = 0; x < argc; x++)
+ for (i = 0; i < argc; i++)
{
- DebugPrintf (_T("%d. %s\n"), x, argv[x]);
+ DebugPrintf (_T("%d. %s\n"), i, argv[i]);
}
DebugPrintf (_T("]\n"));
#endif
_____
Modified: trunk/reactos/subsys/system/cmd/cmd.h
--- trunk/reactos/subsys/system/cmd/cmd.h 2005-09-12 14:55:55 UTC
(rev 17818)
+++ trunk/reactos/subsys/system/cmd/cmd.h 2005-09-12 16:06:53 UTC
(rev 17819)
@@ -224,11 +224,11 @@
/* Prototypes for FILECOMP.C */
#ifdef FEATURE_UNIX_FILENAME_COMPLETION
-VOID CompleteFilename (LPTSTR, INT);
+VOID CompleteFilename (LPTSTR, UINT);
INT ShowCompletionMatches (LPTSTR, INT);
#endif
#ifdef FEATURE_4NT_FILENAME_COMPLETION
-VOID CompleteFilename (LPTSTR, BOOL, LPTSTR, INT);
+VOID CompleteFilename (LPTSTR, BOOL, LPTSTR, UINT);
#endif
_____
Modified: trunk/reactos/subsys/system/cmd/cmdinput.c
--- trunk/reactos/subsys/system/cmd/cmdinput.c 2005-09-12 14:55:55 UTC
(rev 17818)
+++ trunk/reactos/subsys/system/cmd/cmdinput.c 2005-09-12 16:06:53 UTC
(rev 17819)
@@ -138,6 +138,7 @@
WORD wLastKey = 0;
TCHAR ch;
BOOL bContinue=FALSE;/*is TRUE the second case will not be
executed*/
+ TCHAR szPath[MAX_PATH];
/* get screen size */
GetScreenSize (&maxx, &maxy);
@@ -366,8 +367,7 @@
/* used to later see if we went down to
the next line */
tempscreen = charcount;
- TCHAR szPath[MAX_PATH];
- szPath[0]=_T('\0');
+ szPath[0]=_T('\0');
/* str is the whole things that is on
the current line
that is and and out. arg 2 is
weather it goes back
@@ -404,7 +404,7 @@
if(((charcount + orgx) / maxx) +
orgy > maxy - 1)
orgy += maxy -
((charcount + orgx) / maxx + orgy + 1);
}
- SetCursorXY((orgx + current) % maxx,
orgy + (orgx + current) / maxx);
+ SetCursorXY((short)(((int)orgx +
current) % maxx), (short)((int)orgy + ((int)orgx + current) / maxx));
GetCursorXY(&curx, &cury);
#endif
_____
Modified: trunk/reactos/subsys/system/cmd/color.c
--- trunk/reactos/subsys/system/cmd/color.c 2005-09-12 14:55:55 UTC
(rev 17818)
+++ trunk/reactos/subsys/system/cmd/color.c 2005-09-12 16:06:53 UTC
(rev 17819)
@@ -94,12 +94,12 @@
}
else if ( (_tcscmp(&rest[0], _T("a")) >=0 ) &&
(_tcscmp(&rest[0], _T("f")) <=0 ) )
{
- SetConsoleTextAttribute (hConsole, (WORD) (rest[0] + 10) -
_T('a') );
+ SetConsoleTextAttribute (hConsole, (WORD) (rest[0] + 10 -
_T('a')) );
return 0;
}
else if ( (_tcscmp(&rest[0], _T("A")) >=0 ) &&
(_tcscmp(&rest[0],
_T("F")) <=0 ) )
{
- SetConsoleTextAttribute (hConsole, (WORD) (rest[0] + 10) -
_T('A') );
+ SetConsoleTextAttribute (hConsole, (WORD) (rest[0] + 10 -
_T('A')) );
return 0;
}
ConErrResPuts(STRING_COLOR_ERROR2);
_____
Modified: trunk/reactos/subsys/system/cmd/del.c
--- trunk/reactos/subsys/system/cmd/del.c 2005-09-12 14:55:55 UTC
(rev 17818)
+++ trunk/reactos/subsys/system/cmd/del.c 2005-09-12 16:06:53 UTC
(rev 17819)
@@ -130,7 +130,7 @@
HANDLE file;
DWORD temp;
- LONG BufferSize = 65536;
+#define BufferSize 65536
BYTE buffer[BufferSize];
LONGLONG i;
LARGE_INTEGER FileSize;
@@ -150,7 +150,7 @@
WriteFile (file, buffer, BufferSize,
&temp, NULL);
ConOutPrintf (_T("%I64d%% %s\r"),(i *
(LONGLONG)100)/FileSize.QuadPart,szDeleteWipe);
}
- WriteFile (file, buffer, FileSize.QuadPart - i,
&temp, NULL);
+ WriteFile (file, buffer,
(DWORD)(FileSize.QuadPart - i), &temp, NULL);
ConOutPrintf (_T("100%% %s\n"),szDeleteWipe);
CloseHandle (file);
}
_____
Modified: trunk/reactos/subsys/system/cmd/dir.c
--- trunk/reactos/subsys/system/cmd/dir.c 2005-09-12 14:55:55 UTC
(rev 17818)
+++ trunk/reactos/subsys/system/cmd/dir.c 2005-09-12 16:06:53 UTC
(rev 17819)
@@ -199,8 +199,8 @@
} DIRFINDLISTNODE, *PDIRFINDLISTNODE;
-typedef BOOL STDCALL
-(*PGETFREEDISKSPACEEX)(LPCTSTR, PULARGE_INTEGER, PULARGE_INTEGER,
PULARGE_INTEGER);
+typedef BOOL
+(WINAPI *PGETFREEDISKSPACEEX)(LPCTSTR, PULARGE_INTEGER,
PULARGE_INTEGER, PULARGE_INTEGER);
/* Globally save the # of dirs, files and bytes,
@@ -1294,7 +1294,7 @@
{
/* Calculate the lines that will be printed */
// iLines = ceil((float)dwCount/(float)iColumns);
- iLines = dwCount / iColumns;
+ iLines = (USHORT)(dwCount / iColumns);
for (i = 0;i < iLines;i++)
{
@@ -1982,22 +1982,25 @@
/* <Debug :>
Uncomment this to show the final state of switch flags*/
#ifdef _DEBUG
- ConOutPrintf("Attributes mask/value
%x/%x\n",stFlags.stAttribs.dwAttribMask,stFlags.stAttribs.dwAttribVal
);
- ConOutPrintf("(B) Bare format : %i\n", stFlags.bBareFormat );
- ConOutPrintf("(C) Thousand : %i\n", stFlags.bTSeperator );
- ConOutPrintf("(W) Wide list : %i\n", stFlags.bWideList );
- ConOutPrintf("(D) Wide list sort by column : %i\n",
stFlags.bWideListColSort );
- ConOutPrintf("(L) Lowercase : %i\n", stFlags.bLowerCase );
- ConOutPrintf("(N) New : %i\n", stFlags.bNewLongList );
- ConOutPrintf("(O) Order : %i\n",
stFlags.stOrderBy.sCriteriaCount );
- for (i =0;i<stFlags.stOrderBy.sCriteriaCount;i++)
- ConOutPrintf(" Order Criteria [%i]: %i (Reversed:
%i)\n",i, stFlags.stOrderBy.eCriteria[i],
stFlags.stOrderBy.bCriteriaRev[i] );
- ConOutPrintf("(P) Pause : %i\n", stFlags.bPause );
- ConOutPrintf("(Q) Owner : %i\n", stFlags.bUser );
- ConOutPrintf("(S) Recursive : %i\n", stFlags.bRecursive );
- ConOutPrintf("(T) Time field : %i\n",
stFlags.stTimeField.eTimeField );
- ConOutPrintf("(X) Short names : %i\n", stFlags.bShortName );
- ConOutPrintf("Parameter : %s\n", param );
+ {
+ int i;
+ ConOutPrintf(_T("Attributes mask/value
%x/%x\n"),stFlags.stAttribs.dwAttribMask,stFlags.stAttribs.dwAttribVal
);
+ ConOutPrintf(_T("(B) Bare format : %i\n"),
stFlags.bBareFormat );
+ ConOutPrintf(_T("(C) Thousand : %i\n"),
stFlags.bTSeperator );
+ ConOutPrintf(_T("(W) Wide list : %i\n"),
stFlags.bWideList );
+ ConOutPrintf(_T("(D) Wide list sort by column : %i\n"),
stFlags.bWideListColSort );
+ ConOutPrintf(_T("(L) Lowercase : %i\n"),
stFlags.bLowerCase );
+ ConOutPrintf(_T("(N) New : %i\n"), stFlags.bNewLongList
);
+ ConOutPrintf(_T("(O) Order : %i\n"),
stFlags.stOrderBy.sCriteriaCount );
+ for (i =0;i<stFlags.stOrderBy.sCriteriaCount;i++)
+ ConOutPrintf(_T(" Order Criteria [%i]: %i
(Reversed: %i)\n"),i, stFlags.stOrderBy.eCriteria[i],
stFlags.stOrderBy.bCriteriaRev[i] );
+ ConOutPrintf(_T("(P) Pause : %i\n"), stFlags.bPause );
+ ConOutPrintf(_T("(Q) Owner : %i\n"), stFlags.bUser );
+ ConOutPrintf(_T("(S) Recursive : %i\n"),
stFlags.bRecursive );
+ ConOutPrintf(_T("(T) Time field : %i\n"),
stFlags.stTimeField.eTimeField );
+ ConOutPrintf(_T("(X) Short names : %i\n"),
stFlags.bShortName );
+ ConOutPrintf(_T("Parameter : %s\n"), param );
+ }
#endif
/* print the header */
_____
Modified: trunk/reactos/subsys/system/cmd/echo.c
--- trunk/reactos/subsys/system/cmd/echo.c 2005-09-12 14:55:55 UTC
(rev 17818)
+++ trunk/reactos/subsys/system/cmd/echo.c 2005-09-12 16:06:53 UTC
(rev 17819)
@@ -33,7 +33,7 @@
INT CommandEcho (LPTSTR cmd, LPTSTR param)
{
TCHAR szMsg[RC_STRING_MAX_SIZE];
- INT i = 0;
+ UINT i = 0;
#ifdef _DEBUG
DebugPrintf (_T("CommandEcho '%s' : '%s'\n"), cmd, param);
_____
Modified: trunk/reactos/subsys/system/cmd/filecomp.c
--- trunk/reactos/subsys/system/cmd/filecomp.c 2005-09-12 14:55:55 UTC
(rev 17818)
+++ trunk/reactos/subsys/system/cmd/filecomp.c 2005-09-12 16:06:53 UTC
(rev 17819)
@@ -25,7 +25,7 @@
#ifdef FEATURE_UNIX_FILENAME_COMPLETION
-VOID CompleteFilename (LPTSTR str, INT charcount)
+VOID CompleteFilename (LPTSTR str, UINT charcount)
{
WIN32_FIND_DATA file;
HANDLE hFile;
@@ -376,7 +376,7 @@
/* number of quotes in the string */
INT nQuotes = 0;
/* used in for loops */
- INT i;
+ UINT i;
/* Char number to break the string at */
INT PBreak = 0;
INT SBreak = 0;
@@ -509,7 +509,7 @@
return ret;
}
-VOID CompleteFilename (LPTSTR strIN, BOOL bNext, LPTSTR strOut, INT
cusor)
+VOID CompleteFilename (LPTSTR strIN, BOOL bNext, LPTSTR strOut, UINT
cusor)
{
/* Length of string before we complete it */
INT StartLength;
@@ -534,16 +534,17 @@
/* Number of files */
INT FileListSize = 0;
/* Used for loops */
- INT i;
+ UINT i;
/* Editable string of what was passed in */
TCHAR str[MAX_PATH];
/* Keeps track of what element was last selected */
static INT Sel;
BOOL NeededQuote = FALSE;
- strOut[0] = _T('\0');
BOOL ShowAll = TRUE;
-
TCHAR * line = strIN;
+
+ strOut[0] = _T('\0');
+
while (_istspace (*line))
line++;
if(!_tcsncmp (line, _T("rd "), 3) || !_tcsncmp (line, _T("cd "),
3))
@@ -708,14 +709,9 @@
/* insert the quoation and move things around */
if(szPrefix[LastSpace + 1] != _T('\"') && LastSpace !=
-1)
{
- /* add another char or you will lose a null char
ending */
- _tcsncat(szPrefix,&szPrefix[_tcslen(szPrefix) -
1],1);
- for(i = _tcslen(szPrefix) - 1; i > LastSpace;
i--)
- {
- szPrefix[i] = szPrefix[i - 1];
- }
+ memmove ( &szPrefix[LastSpace+1],
&szPrefix[LastSpace], (_tcslen(szPrefix)-LastSpace+1) * sizeof(TCHAR) );
- if(LastSpace + 1 == _tcslen(szPrefix))
+ if((UINT)(LastSpace + 1) == _tcslen(szPrefix))
{
_tcscat(szPrefix,_T("\""));
}
_____
Modified: trunk/reactos/subsys/system/cmd/history.c
--- trunk/reactos/subsys/system/cmd/history.c 2005-09-12 14:55:55 UTC
(rev 17818)
+++ trunk/reactos/subsys/system/cmd/history.c 2005-09-12 16:06:53 UTC
(rev 17819)
@@ -193,8 +193,8 @@
if (item==NULL || item==Top || item==Bottom)
{
#ifdef _DEBUG
- DebugPrintf(_T("del in " __FILE__ ": retrning\n"
- "item is 0x%08x (Bottom is0x%08x)\n"),
+ DebugPrintf(_T("del in ") _T(__FILE__) _T(":
retrning\n")
+ _T("item is 0x%08x (Bottom is0x%08x)\n"),
item, Bottom);
#endif
return;
_____
Modified: trunk/reactos/subsys/system/cmd/internal.c
--- trunk/reactos/subsys/system/cmd/internal.c 2005-09-12 14:55:55 UTC
(rev 17818)
+++ trunk/reactos/subsys/system/cmd/internal.c 2005-09-12 16:06:53 UTC
(rev 17819)
@@ -276,7 +276,7 @@
TCHAR * tmpPath;
TCHAR szCurrent[MAX_PATH];
TCHAR szMsg[RC_STRING_MAX_SIZE];
- INT i;
+ UINT i;
/* Filter out special cases first */
_____
Modified: trunk/reactos/subsys/system/cmd/precomp.h
--- trunk/reactos/subsys/system/cmd/precomp.h 2005-09-12 14:55:55 UTC
(rev 17818)
+++ trunk/reactos/subsys/system/cmd/precomp.h 2005-09-12 16:06:53 UTC
(rev 17819)
@@ -1,6 +1,5 @@
#include <windows.h>
#include <winnt.h>
-#include <winternl.h>
#include <shellapi.h>
#include <tchar.h>
@@ -14,6 +13,9 @@
#include <math.h>
#include <time.h>
+#define NTOS_MODE_USER
+#include <ndk/ntndk.h>
+
#include "cmd.h"
#include "config.h"
#include "batch.h"