summaryrefslogtreecommitdiff
path: root/lib/librpc/demo/msg/printmsg.c
diff options
context:
space:
mode:
Diffstat (limited to 'lib/librpc/demo/msg/printmsg.c')
-rw-r--r--lib/librpc/demo/msg/printmsg.c43
1 files changed, 43 insertions, 0 deletions
diff --git a/lib/librpc/demo/msg/printmsg.c b/lib/librpc/demo/msg/printmsg.c
new file mode 100644
index 000000000000..dde55dd86709
--- /dev/null
+++ b/lib/librpc/demo/msg/printmsg.c
@@ -0,0 +1,43 @@
+/* @(#)printmsg.c 2.1 88/08/11 4.0 RPCSRC */
+/*
+ * printmsg.c: print a message on the console
+ */
+#include <stdio.h>
+
+main(argc, argv)
+ int argc;
+ char *argv[];
+{
+ char *message;
+
+ if (argc < 2) {
+ fprintf(stderr, "usage: %s <message>\n", argv[0]);
+ exit(1);
+ }
+ message = argv[1];
+
+ if (!printmessage(message)) {
+ fprintf(stderr, "%s: sorry, couldn't print your message\n",
+ argv[0]);
+ exit(1);
+ }
+ printf("Message delivered!\n");
+}
+
+/*
+ * Print a message to the console.
+ * Return a boolean indicating whether the message was actually printed.
+ */
+printmessage(msg)
+ char *msg;
+{
+ FILE *f;
+
+ f = fopen("/dev/console", "w");
+ if (f == NULL) {
+ return (0);
+ }
+ fprintf(f, "%s\n", msg);
+ fclose(f);
+ return(1);
+}