diff options
author | Christopher Faylor <me@cgf.cx> | 2005-07-05 21:41:37 +0000 |
---|---|---|
committer | Christopher Faylor <me@cgf.cx> | 2005-07-05 21:41:37 +0000 |
commit | 27eb5dbc70b25610263960b3236bbe553e7b7cc0 (patch) | |
tree | cf8f8590119426b00427e334ea35702f96b3e532 /winsup | |
parent | d3b593aa446dd87422aa83411177cd0b8248bec7 (diff) | |
download | newlib-27eb5dbc70b25610263960b3236bbe553e7b7cc0.zip newlib-27eb5dbc70b25610263960b3236bbe553e7b7cc0.tar.gz newlib-27eb5dbc70b25610263960b3236bbe553e7b7cc0.tar.bz2 |
* cygcheck.cc (track_down, cygcheck): Return true on success.
(main): Reflect cygcheck failures in exit status.
Diffstat (limited to 'winsup')
-rw-r--r-- | winsup/utils/ChangeLog | 9 | ||||
-rw-r--r-- | winsup/utils/cygcheck.cc | 32 |
2 files changed, 25 insertions, 16 deletions
diff --git a/winsup/utils/ChangeLog b/winsup/utils/ChangeLog index c58d67d..bba38e9 100644 --- a/winsup/utils/ChangeLog +++ b/winsup/utils/ChangeLog @@ -1,3 +1,8 @@ +2005-07-05 Eric Blake <ebb9@byu.net> + + * cygcheck.cc (track_down, cygcheck): Return true on success. + (main): Reflect cygcheck failures in exit status. + 2005-06-14 Corinna Vinschen <corinna@vinschen.de> * parse_pe.c (exclusion::sort_and_check): Remove crude cast. @@ -153,9 +158,9 @@ 2004-11-13 Pierre Humblet <pierre.humblet@ieee.org> - * kill.cc (forcekill): Do not pass negative pids to + * kill.cc (forcekill): Do not pass negative pids to cygwin_internal. Check if sig == 0. Improve error messages. - (main): Make pid a long long and distinguish between pids, gpids + (main): Make pid a long long and distinguish between pids, gpids (i.e. negative pids) and Win9x pids. 2004-11-11 Bas van Gompel <cygwin-patch.buzz@bavag.tmfweb.nl> diff --git a/winsup/utils/cygcheck.cc b/winsup/utils/cygcheck.cc index 264fd50..ba1ee6f 100644 --- a/winsup/utils/cygcheck.cc +++ b/winsup/utils/cygcheck.cc @@ -364,7 +364,7 @@ struct ImpDirectory }; -static void track_down (char *file, char *suffix, int lvl); +static bool track_down (char *file, char *suffix, int lvl); #define CYGPREFIX (sizeof ("%%% Cygwin ") - 1) static void @@ -554,26 +554,27 @@ dll_info (const char *path, HANDLE fh, int lvl, int recurse) cygwin_info (fh); } -static void +// Return true on success, false if error printed +static bool track_down (char *file, char *suffix, int lvl) { if (file == NULL) { display_error ("track_down: NULL passed for file", true, false); - return; + return false; } if (suffix == NULL) { display_error ("track_down: NULL passed for suffix", false, false); - return; + return false; } char *path = find_on_path (file, suffix, 0, 1); if (!path) { printf ("Error: could not find %s\n", file); - return; + return false; } Did *d = already_did (file); @@ -589,7 +590,7 @@ track_down (char *file, char *suffix, int lvl) printf ("%s", path); printf (" (recursive)\n"); } - return; + return true; case DID_INACTIVE: if (verbose) { @@ -598,7 +599,7 @@ track_down (char *file, char *suffix, int lvl) printf ("%s", path); printf (" (already done)\n"); } - return; + return true; default: break; } @@ -609,7 +610,7 @@ track_down (char *file, char *suffix, int lvl) if (!path) { printf ("%s not found\n", file); - return; + return false; } printf ("%s", path); @@ -620,7 +621,7 @@ track_down (char *file, char *suffix, int lvl) if (fh == INVALID_HANDLE_VALUE) { printf (" - Cannot open\n"); - return; + return false; } d->state = DID_ACTIVE; @@ -629,6 +630,7 @@ track_down (char *file, char *suffix, int lvl) d->state = DID_INACTIVE; if (!CloseHandle (fh)) display_error ("track_down: CloseHandle()"); + return true; } static void @@ -653,14 +655,15 @@ ls (char *f) display_error ("ls: CloseHandle()"); } -static void +// Return true on success, false if error printed +static bool cygcheck (char *app) { char *papp = find_on_path (app, (char *) ".exe", 1, 0); if (!papp) { printf ("Error: could not find %s\n", app); - return; + return false; } char *s = strdup (papp); char *sl = 0, *t; @@ -675,7 +678,7 @@ cygcheck (char *app) paths[0] = s; } did = 0; - track_down (papp, (char *) ".exe", 0); + return track_down (papp, (char *) ".exe", 0); } @@ -1590,6 +1593,7 @@ int main (int argc, char **argv) { int i; + bool ok = true; load_cygwin (argc, argv); (void) putenv("POSIXLY_CORRECT=1"); @@ -1677,7 +1681,7 @@ main (int argc, char **argv) { if (i) puts (""); - cygcheck (argv[i]); + ok &= cygcheck (argv[i]); } if (sysinfo) @@ -1693,5 +1697,5 @@ main (int argc, char **argv) puts ("Use -h to see help about each section"); } - return 0; + return ok ? EXIT_SUCCESS : EXIT_FAILURE; } |