* cygcheck.cc (init_paths): Record first_nonsys_path.

(find_on_path): Start on first nonsys path when !search_sysdirs.
This commit is contained in:
Christopher Faylor 2006-01-19 20:17:11 +00:00
parent ecd4fba273
commit 101b3cb01a
2 changed files with 13 additions and 8 deletions

View File

@ -1,3 +1,8 @@
2006-01-19 Christopher Faylor <cgf@timesys.com>
* cygcheck.cc (init_paths): Record first_nonsys_path.
(find_on_path): Start on first nonsys path when !search_sysdirs.
2006-01-18 Christopher Faylor <cgf@timesys.com> 2006-01-18 Christopher Faylor <cgf@timesys.com>
* Makefile.in (sysconfdir): Remove unneeded variable. * Makefile.in (sysconfdir): Remove unneeded variable.

View File

@ -112,8 +112,9 @@ static common_apps[] = {
{0, 0} {0, 0}
}; };
static int num_paths = 0, max_paths = 0; static int num_paths, max_paths;
static char **paths = 0; static char **paths;
int first_nonsys_path;
void void
eprintf (const char *format, ...) eprintf (const char *format, ...)
@ -226,9 +227,12 @@ init_paths ()
} }
GetWindowsDirectory (tmp, 4000); GetWindowsDirectory (tmp, 4000);
add_path (tmp, strlen (tmp)); add_path (tmp, strlen (tmp));
first_nonsys_path = num_paths;
char *wpath = getenv ("PATH"); char *wpath = getenv ("PATH");
if (wpath) if (!wpath)
fprintf (stderr, "WARNING: PATH is not set at all!\n");
else
{ {
char *b, *e; char *b, *e;
b = wpath; b = wpath;
@ -242,8 +246,6 @@ init_paths ()
b = e + 1; b = e + 1;
} }
} }
else
printf ("WARNING: PATH is not set at all!\n");
} }
static char * static char *
@ -278,10 +280,8 @@ find_on_path (char *file, char *default_extension,
if (strchr (file, '.')) if (strchr (file, '.'))
default_extension = (char *) ""; default_extension = (char *) "";
for (int i = 0; i < num_paths; i++) for (int i = search_sysdirs ? 0 : first_nonsys_path; i < num_paths; i++)
{ {
if (!search_sysdirs && (i == 0 || i == 2 || i == 3))
continue;
if (i == 0 || !search_sysdirs || strcasecmp (paths[i], paths[0])) if (i == 0 || !search_sysdirs || strcasecmp (paths[i], paths[0]))
{ {
sprintf (ptr, "%s\\%s%s", paths[i], file, default_extension); sprintf (ptr, "%s\\%s%s", paths[i], file, default_extension);