mirror of
https://github.com/reactos/reactos.git
synced 2025-04-04 04:26:32 +00:00

Remove extra \r put by hand in some console output functions, so that we use there only \n. But modify the ConWrite function so that, if we redirect output to something else than a console (e.g. redirect to a file or to a serial console via ... > AUX), newline characters \n get converted into \r\n automatically. What you get, for instance, is: https://imageshack.com/a/img853/5834/l34.png svn path=/trunk/; revision=59411
88 lines
1.9 KiB
C
88 lines
1.9 KiB
C
/*
|
|
* PATH.C - path internal command.
|
|
*
|
|
*
|
|
* History:
|
|
*
|
|
* 17 Jul 1998 (John P Price)
|
|
* Separated commands into individual files.
|
|
*
|
|
* 27-Jul-1998 (John P Price <linux-guru@gcfl.net>)
|
|
* added config.h include
|
|
*
|
|
* 09-Dec-1998 (Eric Kohl)
|
|
* Added help text ("/?").
|
|
*
|
|
* 18-Jan-1999 (Eric Kohl)
|
|
* Unicode ready!
|
|
*
|
|
* 18-Jan-1999 (Eric Kohl)
|
|
* Redirection safe!
|
|
*
|
|
* 24-Jan-1999 (Eric Kohl)
|
|
* Fixed Win32 environment handling.
|
|
*
|
|
* 30-Apr-2005 (Magnus Olsen <magnus@greatlord.com>)
|
|
* Remove all hardcoded strings in En.rc
|
|
*/
|
|
#include "precomp.h"
|
|
|
|
#ifdef INCLUDE_CMD_PATH
|
|
|
|
/* size of environment variable buffer */
|
|
#define ENV_BUFFER_SIZE 1024
|
|
|
|
|
|
INT cmd_path (LPTSTR param)
|
|
{
|
|
if (!_tcsncmp (param, _T("/?"), 2))
|
|
{
|
|
ConOutResPaging(TRUE,STRING_PATH_HELP1);
|
|
return 0;
|
|
}
|
|
|
|
nErrorLevel = 0;
|
|
|
|
/* if param is empty, display the PATH environment variable */
|
|
if (!param || !*param)
|
|
{
|
|
DWORD dwBuffer;
|
|
LPTSTR pszBuffer;
|
|
|
|
pszBuffer = (LPTSTR)cmd_alloc (ENV_BUFFER_SIZE * sizeof(TCHAR));
|
|
dwBuffer = GetEnvironmentVariable (_T("PATH"), pszBuffer, ENV_BUFFER_SIZE);
|
|
if (dwBuffer == 0)
|
|
{
|
|
cmd_free(pszBuffer);
|
|
ConOutResPrintf(STRING_VOL_HELP2, _T("PATH"));
|
|
return 0;
|
|
}
|
|
else if (dwBuffer > ENV_BUFFER_SIZE)
|
|
{
|
|
pszBuffer = (LPTSTR)cmd_realloc (pszBuffer, dwBuffer * sizeof (TCHAR));
|
|
GetEnvironmentVariable (_T("PATH"), pszBuffer, dwBuffer);
|
|
}
|
|
|
|
ConOutPrintf(_T("PATH=%s\n"), pszBuffer);
|
|
cmd_free (pszBuffer);
|
|
|
|
return 0;
|
|
}
|
|
|
|
/* skip leading '=' */
|
|
if (*param == _T('='))
|
|
param++;
|
|
|
|
/* set PATH environment variable */
|
|
if (!SetEnvironmentVariable (_T("PATH"), param))
|
|
{
|
|
nErrorLevel = 1;
|
|
return 1;
|
|
}
|
|
|
|
return 0;
|
|
}
|
|
|
|
#endif
|
|
|
|
/* EOF */
|