aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChristopher Faylor <me@cgf.cx>2003-10-17 17:19:31 +0000
committerChristopher Faylor <me@cgf.cx>2003-10-17 17:19:31 +0000
commitfa10472e4a49b10361b85736b8d8c75895db4edb (patch)
tree910c4c4e72b02f152bbe781a4f7e11547d2fbe15
parent5320b93f4e567564f90ec0eb8f30227b15e65ebd (diff)
downloadnewlib-fa10472e4a49b10361b85736b8d8c75895db4edb.zip
newlib-fa10472e4a49b10361b85736b8d8c75895db4edb.tar.gz
newlib-fa10472e4a49b10361b85736b8d8c75895db4edb.tar.bz2
* cygcheck.cc (pretty_id): Don't exec if `id' program is not found.
-rw-r--r--winsup/utils/ChangeLog4
-rw-r--r--winsup/utils/Makefile.in6
-rw-r--r--winsup/utils/cygcheck.cc5
-rw-r--r--winsup/utils/cygpath.cc27
4 files changed, 16 insertions, 26 deletions
diff --git a/winsup/utils/ChangeLog b/winsup/utils/ChangeLog
index 819c5b1..6f53240 100644
--- a/winsup/utils/ChangeLog
+++ b/winsup/utils/ChangeLog
@@ -1,3 +1,7 @@
+2003-10-17 Christopher Faylor <cgf@redhat.com>
+
+ * cygcheck.cc (pretty_id): Don't exec if `id' program is not found.
+
2003-09-20 Christopher Faylor <cgf@redhat.com>
* kill.cc (main): Allow negative pids (indicates process groups).
diff --git a/winsup/utils/Makefile.in b/winsup/utils/Makefile.in
index 74a38e6..ba7b0d6 100644
--- a/winsup/utils/Makefile.in
+++ b/winsup/utils/Makefile.in
@@ -77,10 +77,10 @@ PROGS:= cygcheck.exe cygpath.exe getfacl.exe kill.exe mkgroup.exe \
ssp.exe strace.exe umount.exe
CLEAN_PROGS:=$(PROGS)
-ifdef build_dumper
-PROGS+=dumper$(EXEEXT)
-else
+ifndef build_dumper
PROGS:=warn_dumper $(PROGS)
+else
+PROGS+=dumper$(EXEEXT)
CLEAN_PROGS+=dumper.exe
endif
diff --git a/winsup/utils/cygcheck.cc b/winsup/utils/cygcheck.cc
index 91eb6da..7adc4c1 100644
--- a/winsup/utils/cygcheck.cc
+++ b/winsup/utils/cygcheck.cc
@@ -780,10 +780,7 @@ pretty_id (const char *s, char *cygwin, size_t cyglen)
*p = '\\';
if (access (id, X_OK))
- {
- fprintf (stderr, "`id' program not found\n");
- exit (1);
- }
+ fprintf (stderr, "`id' program not found\n");
FILE *f = popen (id, "rt");
diff --git a/winsup/utils/cygpath.cc b/winsup/utils/cygpath.cc
index 68a2407..66a4aa3 100644
--- a/winsup/utils/cygpath.cc
+++ b/winsup/utils/cygpath.cc
@@ -9,6 +9,8 @@ details. */
#define NOCOMATTRIBUTE
+#define _WIN32_IE 0x0400
+
#include <shlobj.h>
#include <stdio.h>
#include <string.h>
@@ -330,7 +332,6 @@ dowin (char option)
char *buf, buf1[MAX_PATH], buf2[MAX_PATH];
DWORD len = MAX_PATH;
WIN32_FIND_DATA w32_fd;
- LPITEMIDLIST id;
HINSTANCE k32;
BOOL (*GetProfilesDirectoryAPtr) (LPSTR, LPDWORD) = 0;
@@ -338,27 +339,15 @@ dowin (char option)
switch (option)
{
case 'D':
- SHGetSpecialFolderLocation (NULL, allusers_flag ?
- CSIDL_COMMON_DESKTOPDIRECTORY : CSIDL_DESKTOPDIRECTORY, &id);
- SHGetPathFromIDList (id, buf);
- /* This if clause is a Fix for Win95 without any "All Users" */
- if (strlen (buf) == 0)
- {
- SHGetSpecialFolderLocation (NULL, CSIDL_DESKTOPDIRECTORY, &id);
- SHGetPathFromIDList (id, buf);
- }
+ if (!SHGetSpecialFolderPath (NULL, buf, allusers_flag ?
+ CSIDL_COMMON_DESKTOPDIRECTORY : CSIDL_DESKTOPDIRECTORY, FALSE))
+ SHGetSpecialFolderPath (NULL, buf, CSIDL_DESKTOPDIRECTORY, FALSE);
break;
case 'P':
- SHGetSpecialFolderLocation (NULL, allusers_flag ?
- CSIDL_COMMON_PROGRAMS : CSIDL_PROGRAMS, &id);
- SHGetPathFromIDList (id, buf);
- /* This if clause is a Fix for Win95 without any "All Users" */
- if (strlen (buf) == 0)
- {
- SHGetSpecialFolderLocation (NULL, CSIDL_PROGRAMS, &id);
- SHGetPathFromIDList (id, buf);
- }
+ if (!SHGetSpecialFolderPath (NULL, buf, allusers_flag ?
+ CSIDL_COMMON_PROGRAMS : CSIDL_PROGRAMS, FALSE))
+ SHGetSpecialFolderPath (NULL, buf, CSIDL_PROGRAMS, FALSE);
break;
case 'H':