From: Kurt A. Shoens Date: Wed, 9 May 1979 07:09:52 +0000 (-0800) Subject: BSD 2 development X-Git-Tag: BSD-2~96 X-Git-Url: https://git.subgeniuskitty.com/unix-history/.git/commitdiff_plain/dd30ce89ae8b92f40fdf3b2a017c313339f9ebcc BSD 2 development Work on file src/fleece.c Synthesized-from: 2bsd --- diff --git a/src/fleece.c b/src/fleece.c new file mode 100644 index 0000000000..dad9cf3232 --- /dev/null +++ b/src/fleece.c @@ -0,0 +1,62 @@ +/* Copyright (c) 1979 Regents of the University of California */ +#include +#include +#include +#include + +/* + * Look for a particular file name in everyone's home directory. + * + * Syntax: fleece name + * Author: Kurt Shoens (UCB) 1/11/79 + */ + +char *pwfile = "/etc/passwd"; + +main(argc, argv) + char **argv; +{ + char namebuf[BUFSIZ], home[BUFSIZ], word[BUFSIZ]; + register char *cp; + struct stat sbuf; + extern char _sobuf[]; + + if (argc < 2) { + fprintf(stderr, "Usage: %s name ...\n", *argv); + exit(1); + } + setbuf(stdout, _sobuf); + strcpy(word, argv[1]); + if (freopen(pwfile, "r", stdin) == NULL) { + perror(pwfile); + exit(1); + } + while (gets(namebuf) != NULL) { + gethome(namebuf, home); + cp = home + strlen(home); + if (cp[-1] != '/') + *cp++ = '/'; + strcpy(cp, word); + if (stat(home, &sbuf) >= 0) + puts(home); + } + exit(0); +} + +/* + * Find from the given passwd line the user's home directory + * and copy right. + */ + +gethome(pwline, home) + char pwline[], home[]; +{ + register char *cp, *cp2; + register int c; + + for (cp = pwline, c = 0; c < 5 && *cp; c += *cp++ == ':') + ; + for (cp2 = home; *cp && *cp != ':'; *cp2++ = *cp++) + ; + *cp2 = 0; +}