* cygcheck.cc (CYGLSA64_DLL): Remove unused macro.

(dump_sysinfo): If COMSPEC isn't set in the MSVCRT environment, set it.
	Explain why.
This commit is contained in:
Corinna Vinschen 2014-10-21 10:59:40 +00:00
parent f2ee8ffeb1
commit a208583750
2 changed files with 21 additions and 4 deletions

View File

@ -1,3 +1,9 @@
2014-10-21 Corinna Vinschen <corinna@vinschen.de>
* cygcheck.cc (CYGLSA64_DLL): Remove unused macro.
(dump_sysinfo): If COMSPEC isn't set in the MSVCRT environment, set it.
Explain why.
2014-09-03 Corinna Vinschen <corinna@vinschen.de>
* setfacl.c (addmissing): New function to add missing acl entries to

View File

@ -1,7 +1,7 @@
/* cygcheck.cc
Copyright 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008,
2009, 2010, 2011, 2012, 2013 Red Hat, Inc.
2009, 2010, 2011, 2012, 2013, 2014 Red Hat, Inc.
This file is part of Cygwin.
@ -587,9 +587,6 @@ cygwin_info (HANDLE h)
return;
}
/* Special case. Don't complain about this one. */
#define CYGLSA64_DLL "\\cyglsa64.dll"
static void
dll_info (const char *path, HANDLE fh, int lvl, int recurse)
{
@ -1436,6 +1433,20 @@ dump_sysinfo ()
DWORD obcaseinsensitive = 1;
HKEY key;
/* MSVCRT popen (called by pretty_id and dump_sysinfo_services) SEGVs if
COMSPEC isn't set correctly. Simply enforce it here. Using
Get/SetEnvironmentVariable to set the dir does *not* help, btw.
Apparently MSVCRT keeps its own copy of the environment and changing
that requires to use _wputenv. */
if (!_wgetenv (L"COMSPEC"))
{
WCHAR comspec[MAX_PATH + 17];
wcscpy (comspec, L"COMSPEC=");
GetSystemDirectoryW (comspec + 8, MAX_PATH);
wcsncat (comspec, L"\\cmd.exe", sizeof comspec);
_wputenv (comspec);
}
printf ("\nCygwin Configuration Diagnostics\n");
time (&now);
printf ("Current System Time: %s\n", ctime (&now));