noso.c revision 1.2 1 1.1 mrg #include <stdio.h>
2 1.1 mrg #include <sys/types.h>
3 1.1 mrg #include <sys/stat.h>
4 1.1 mrg #include <sys/file.h>
5 1.1 mrg
6 1.1 mrg main(argc, argv)
7 1.1 mrg char *argv[];
8 1.1 mrg {
9 1.1 mrg struct stat sb;
10 1.1 mrg register char *cp;
11 1.1 mrg int i, fd, count = 0;
12 1.1 mrg char buf[10];
13 1.1 mrg
14 1.1 mrg for (cp = "", i = 1; i < argc; cp = " ", i++) {
15 1.1 mrg if (lstat(argv[i], &sb) < 0)
16 1.1 mrg continue;
17 1.2 mycroft if (!S_ISREG(sb.st_mode))
18 1.1 mrg continue;
19 1.1 mrg fd = open(argv[i], O_RDONLY);
20 1.1 mrg if (fd < 0) {
21 1.1 mrg perror(argv[i]);
22 1.1 mrg continue;
23 1.1 mrg }
24 1.1 mrg if (read(fd, buf, 3) != 3) {
25 1.1 mrg close(fd);
26 1.1 mrg continue;
27 1.1 mrg }
28 1.1 mrg if (strncmp(buf, ".so", 3))
29 1.1 mrg count++, printf("%s%s", cp, argv[i]);
30 1.1 mrg close(fd);
31 1.1 mrg }
32 1.1 mrg if (count > 0)
33 1.1 mrg putchar('\n');
34 1.1 mrg }
35