/* global variables */
extern HANDLE hOut;
extern HANDLE hIn;
-extern HANDLE hConsole;
+extern LPTSTR lpOriginalEnvironment;
extern WORD wColor;
extern WORD wDefColor;
extern BOOL bCtrlBreak;
extern BOOL bIgnoreEcho;
extern BOOL bExit;
+extern BOOL bDisableBatchEcho;
extern BOOL bDelayedExpansion;
extern INT nErrorLevel;
extern SHORT maxx;
extern SHORT maxy;
extern OSVERSIONINFO osvi;
-
+extern BOOL bUnicodeOutput;
/* Prototypes for ALIAS.C */
VOID ExpandAlias (LPTSTR, INT);
INT CommandAlias (LPTSTR);
+/* Prototypes for ASSOC.C */
+INT CommandAssoc (LPTSTR);
+
/* Prototypes for ATTRIB.C */
INT CommandAttrib (LPTSTR);
/* Prototypes for CMD.C */
-INT ConvertULargeInteger (ULARGE_INTEGER num, LPTSTR des, INT len, BOOL bPutSeperator);
+INT ConvertULargeInteger(ULONGLONG num, LPTSTR des, INT len, BOOL bPutSeperator);
+HANDLE RunFile(DWORD, LPTSTR, LPTSTR, LPTSTR, INT);
VOID ParseCommandLine (LPTSTR);
struct _PARSED_COMMAND;
BOOL ExecuteCommand(struct _PARSED_COMMAND *Cmd);
BOOL SubstituteVars(TCHAR *Src, TCHAR *Dest, TCHAR Delim);
BOOL SubstituteForVars(TCHAR *Src, TCHAR *Dest);
LPTSTR DoDelayedExpansion(LPTSTR Line);
-BOOL DoCommand (LPTSTR line, struct _PARSED_COMMAND *Cmd);
+BOOL DoCommand(LPTSTR first, LPTSTR rest, struct _PARSED_COMMAND *Cmd);
BOOL ReadLine(TCHAR *commandline, BOOL bMore);
int cmd_main (int argc, const TCHAR *argv[]);
/* Prototypes for CMDINPUT.C */
-VOID ReadCommand (LPTSTR, INT);
+BOOL ReadCommand (LPTSTR, INT);
/* Prototypes for CMDTABLE.C */
/* Prototypes for DIR.C */
+INT FormatDate (TCHAR *, LPSYSTEMTIME, BOOL);
+INT FormatTime (TCHAR *, LPSYSTEMTIME);
INT CommandDir (LPTSTR);
/* Prototypes for ECHO.C */
+BOOL OnOffCommand(LPTSTR param, LPBOOL flag, INT message);
INT CommandEcho (LPTSTR);
INT CommandEchos (LPTSTR);
INT CommandEchoerr (LPTSTR);
VOID InitLocale (VOID);
-VOID PrintDate (VOID);
-VOID PrintTime (VOID);
+LPTSTR GetDateString (VOID);
+LPTSTR GetTimeString (VOID);
/* cache codepage */
extern UINT InputCodePage;
INT CommandMemory (LPTSTR);
+/* Prototypes for MKLINK.C */
+INT cmd_mklink(LPTSTR);
+
+
/* Prototypes for MISC.C */
INT GetRootPath(TCHAR *InPath,TCHAR *OutPath,INT size);
-BOOL SetRootPath(TCHAR *InPath);
+BOOL SetRootPath(TCHAR *oldpath,TCHAR *InPath);
TCHAR cgetchar (VOID);
BOOL CheckCtrlBreak (INT);
BOOL add_entry (LPINT ac, LPTSTR **arg, LPCTSTR entry);
{
struct
{
- TCHAR *Tail;
- TCHAR CommandLine[];
+ TCHAR *Rest;
+ TCHAR First[];
} Command;
struct
{
INT cmd_set (LPTSTR);
/* Prototypes for SETLOCAL.C */
+LPTSTR DuplicateEnvironment(VOID);
INT cmd_setlocal (LPTSTR);
INT cmd_endlocal (LPTSTR);