Fixed return status (thanks to David Douthitt for the fix).
This commit is contained in:
parent
e93abf9e69
commit
768a2340b5
@ -28,7 +28,7 @@ extern int which_main(int argc, char **argv)
|
|||||||
{
|
{
|
||||||
char *path_list, *path_n;
|
char *path_list, *path_n;
|
||||||
struct stat filestat;
|
struct stat filestat;
|
||||||
int i, count=1;
|
int i, count=1, found, status = EXIT_SUCCESS;
|
||||||
|
|
||||||
if (argc <= 1 || **(argv + 1) == '-')
|
if (argc <= 1 || **(argv + 1) == '-')
|
||||||
usage(which_usage);
|
usage(which_usage);
|
||||||
@ -48,6 +48,7 @@ extern int which_main(int argc, char **argv)
|
|||||||
while(argc-- > 0) {
|
while(argc-- > 0) {
|
||||||
path_n = path_list;
|
path_n = path_list;
|
||||||
argv++;
|
argv++;
|
||||||
|
found = 0;
|
||||||
for (i = 0; i < count; i++) {
|
for (i = 0; i < count; i++) {
|
||||||
char buf[strlen(path_n)+1+strlen(*argv)];
|
char buf[strlen(path_n)+1+strlen(*argv)];
|
||||||
strcpy (buf, path_n);
|
strcpy (buf, path_n);
|
||||||
@ -57,12 +58,15 @@ extern int which_main(int argc, char **argv)
|
|||||||
&& filestat.st_mode & S_IXUSR)
|
&& filestat.st_mode & S_IXUSR)
|
||||||
{
|
{
|
||||||
printf ("%s\n", buf);
|
printf ("%s\n", buf);
|
||||||
|
found = 1;
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
path_n += (strlen(path_n) + 1);
|
path_n += (strlen(path_n) + 1);
|
||||||
}
|
}
|
||||||
|
if (!found)
|
||||||
|
status = EXIT_FAILURE;
|
||||||
}
|
}
|
||||||
return(TRUE);
|
return status;
|
||||||
}
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
8
which.c
8
which.c
@ -28,7 +28,7 @@ extern int which_main(int argc, char **argv)
|
|||||||
{
|
{
|
||||||
char *path_list, *path_n;
|
char *path_list, *path_n;
|
||||||
struct stat filestat;
|
struct stat filestat;
|
||||||
int i, count=1;
|
int i, count=1, found, status = EXIT_SUCCESS;
|
||||||
|
|
||||||
if (argc <= 1 || **(argv + 1) == '-')
|
if (argc <= 1 || **(argv + 1) == '-')
|
||||||
usage(which_usage);
|
usage(which_usage);
|
||||||
@ -48,6 +48,7 @@ extern int which_main(int argc, char **argv)
|
|||||||
while(argc-- > 0) {
|
while(argc-- > 0) {
|
||||||
path_n = path_list;
|
path_n = path_list;
|
||||||
argv++;
|
argv++;
|
||||||
|
found = 0;
|
||||||
for (i = 0; i < count; i++) {
|
for (i = 0; i < count; i++) {
|
||||||
char buf[strlen(path_n)+1+strlen(*argv)];
|
char buf[strlen(path_n)+1+strlen(*argv)];
|
||||||
strcpy (buf, path_n);
|
strcpy (buf, path_n);
|
||||||
@ -57,12 +58,15 @@ extern int which_main(int argc, char **argv)
|
|||||||
&& filestat.st_mode & S_IXUSR)
|
&& filestat.st_mode & S_IXUSR)
|
||||||
{
|
{
|
||||||
printf ("%s\n", buf);
|
printf ("%s\n", buf);
|
||||||
|
found = 1;
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
path_n += (strlen(path_n) + 1);
|
path_n += (strlen(path_n) + 1);
|
||||||
}
|
}
|
||||||
|
if (!found)
|
||||||
|
status = EXIT_FAILURE;
|
||||||
}
|
}
|
||||||
return(TRUE);
|
return status;
|
||||||
}
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
Loading…
Reference in New Issue
Block a user