186d7f5d3SJohn Marino /* @(#)printmsg.c 2.1 88/08/11 4.0 RPCSRC */
286d7f5d3SJohn Marino /* $FreeBSD: src/share/examples/sunrpc/msg/printmsg.c,v 1.2.12.1 2000/12/11 01:03:27 obrien Exp $ */
386d7f5d3SJohn Marino /* $DragonFly: src/share/examples/sunrpc/msg/printmsg.c,v 1.2 2003/06/17 04:36:58 dillon Exp $ */
486d7f5d3SJohn Marino /*
586d7f5d3SJohn Marino * printmsg.c: print a message on the console
686d7f5d3SJohn Marino */
786d7f5d3SJohn Marino #include <paths.h>
886d7f5d3SJohn Marino #include <stdio.h>
986d7f5d3SJohn Marino
main(argc,argv)1086d7f5d3SJohn Marino main(argc, argv)
1186d7f5d3SJohn Marino int argc;
1286d7f5d3SJohn Marino char *argv[];
1386d7f5d3SJohn Marino {
1486d7f5d3SJohn Marino char *message;
1586d7f5d3SJohn Marino
1686d7f5d3SJohn Marino if (argc < 2) {
1786d7f5d3SJohn Marino fprintf(stderr, "usage: %s <message>\n", argv[0]);
1886d7f5d3SJohn Marino exit(1);
1986d7f5d3SJohn Marino }
2086d7f5d3SJohn Marino message = argv[1];
2186d7f5d3SJohn Marino
2286d7f5d3SJohn Marino if (!printmessage(message)) {
2386d7f5d3SJohn Marino fprintf(stderr, "%s: sorry, couldn't print your message\n",
2486d7f5d3SJohn Marino argv[0]);
2586d7f5d3SJohn Marino exit(1);
2686d7f5d3SJohn Marino }
2786d7f5d3SJohn Marino printf("Message delivered!\n");
2886d7f5d3SJohn Marino }
2986d7f5d3SJohn Marino
3086d7f5d3SJohn Marino /*
3186d7f5d3SJohn Marino * Print a message to the console.
3286d7f5d3SJohn Marino * Return a boolean indicating whether the message was actually printed.
3386d7f5d3SJohn Marino */
printmessage(msg)3486d7f5d3SJohn Marino printmessage(msg)
3586d7f5d3SJohn Marino char *msg;
3686d7f5d3SJohn Marino {
3786d7f5d3SJohn Marino FILE *f;
3886d7f5d3SJohn Marino
3986d7f5d3SJohn Marino f = fopen(_PATH_CONSOLE, "w");
4086d7f5d3SJohn Marino if (f == NULL) {
4186d7f5d3SJohn Marino return (0);
4286d7f5d3SJohn Marino }
4386d7f5d3SJohn Marino fprintf(f, "%s\n", msg);
4486d7f5d3SJohn Marino fclose(f);
4586d7f5d3SJohn Marino return(1);
4686d7f5d3SJohn Marino }
47