fing.c revision 1.3 1 1.3 kamil /* $NetBSD: fing.c,v 1.3 2017/05/09 23:26:49 kamil Exp $ */
2 1.3 kamil
3 1.1 bgrayson #include <err.h>
4 1.1 bgrayson #include <stdio.h>
5 1.1 bgrayson
6 1.1 bgrayson int
7 1.1 bgrayson main(argc, argv)
8 1.1 bgrayson int argc;
9 1.1 bgrayson char **argv;
10 1.1 bgrayson {
11 1.1 bgrayson FILE *fp;
12 1.1 bgrayson char *fingerpath = "portal/tcp/localhost/finger";
13 1.1 bgrayson char *name = "";
14 1.1 bgrayson #define FING_BUFSIZE 16384
15 1.1 bgrayson char buff[FING_BUFSIZE];
16 1.1 bgrayson int n;
17 1.1 bgrayson
18 1.1 bgrayson if (argc > 2)
19 1.2 grant errx(1, "Error: usage: %s [name]", argv[0]);
20 1.1 bgrayson fp = fopen(fingerpath, "r+");
21 1.1 bgrayson if (!fp)
22 1.1 bgrayson err(1, "open of %s", fingerpath);
23 1.1 bgrayson if (argv[1])
24 1.1 bgrayson name = argv[1];
25 1.1 bgrayson fprintf(fp, "%s\n", name);
26 1.1 bgrayson n = fread(buff, (size_t) 1, FING_BUFSIZE, fp);
27 1.1 bgrayson fwrite(buff, (size_t) 1, n, stdout);
28 1.1 bgrayson return 0;
29 1.1 bgrayson }
30