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