OSDN Git Service

* cygcheck.cc (pretty_id): Don't exec if `id' program is not found.
authorcgf <cgf>
Fri, 17 Oct 2003 17:19:31 +0000 (17:19 +0000)
committercgf <cgf>
Fri, 17 Oct 2003 17:19:31 +0000 (17:19 +0000)
winsup/utils/ChangeLog
winsup/utils/Makefile.in
winsup/utils/cygcheck.cc
winsup/utils/cygpath.cc

index 819c5b1..6f53240 100644 (file)
@@ -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).
index 74a38e6..ba7b0d6 100644 (file)
@@ -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
 
index 91eb6da..7adc4c1 100644 (file)
@@ -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");
 
index 68a2407..66a4aa3 100644 (file)
@@ -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':