summaryrefslogtreecommitdiff
path: root/readline/examples/rlcat.c
diff options
context:
space:
mode:
Diffstat (limited to 'readline/examples/rlcat.c')
-rw-r--r--readline/examples/rlcat.c174
1 files changed, 0 insertions, 174 deletions
diff --git a/readline/examples/rlcat.c b/readline/examples/rlcat.c
deleted file mode 100644
index 176b9f44b68..00000000000
--- a/readline/examples/rlcat.c
+++ /dev/null
@@ -1,174 +0,0 @@
-/*
- * rlcat - cat(1) using readline
- *
- * usage: rlcat
- */
-
-/* Copyright (C) 1987-2002 Free Software Foundation, Inc.
-
- This file is part of the GNU Readline Library, a library for
- reading lines of text with interactive input and history editing.
-
- The GNU Readline Library is free software; you can redistribute it
- and/or modify it under the terms of the GNU General Public License
- as published by the Free Software Foundation; either version 2, or
- (at your option) any later version.
-
- The GNU Readline Library is distributed in the hope that it will be
- useful, but WITHOUT ANY WARRANTY; without even the implied warranty
- of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- The GNU General Public License is often shipped with GNU software, and
- is generally kept in a file called COPYING or LICENSE. If you do not
- have a copy of the license, write to the Free Software Foundation,
- 59 Temple Place, Suite 330, Boston, MA 02111 USA. */
-
-#if defined (HAVE_CONFIG_H)
-# include <config.h>
-#endif
-
-#ifdef HAVE_UNISTD_H
-# include <unistd.h>
-#endif
-
-#include <sys/types.h>
-#include "posixstat.h"
-
-#include <stdio.h>
-#include <ctype.h>
-#include <string.h>
-#include <errno.h>
-
-#ifndef errno
-extern int errno;
-#endif
-
-#if defined (READLINE_LIBRARY)
-# include "readline.h"
-# include "history.h"
-#else
-# include <readline/readline.h>
-# include <readline/history.h>
-#endif
-
-extern int optind;
-extern char *optarg;
-
-static int stdcat();
-
-static char *progname;
-static int vflag;
-
-static void
-usage()
-{
- fprintf (stderr, "%s: usage: %s [-vEVN] [filename]\n", progname, progname);
-}
-
-int
-main (argc, argv)
- int argc;
- char **argv;
-{
- char *temp;
- int opt, Vflag, Nflag;
-
- progname = strrchr(argv[0], '/');
- if (progname == 0)
- progname = argv[0];
- else
- progname++;
-
- vflag = Vflag = Nflag = 0;
- while ((opt = getopt(argc, argv, "vEVN")) != EOF)
- {
- switch (opt)
- {
- case 'v':
- vflag = 1;
- break;
- case 'V':
- Vflag = 1;
- break;
- case 'E':
- Vflag = 0;
- break;
- case 'N':
- Nflag = 1;
- break;
- default:
- usage ();
- exit (2);
- }
- }
-
- argc -= optind;
- argv += optind;
-
- if (isatty(0) == 0 || argc || Nflag)
- return stdcat(argc, argv);
-
- rl_variable_bind ("editing-mode", Vflag ? "vi" : "emacs");
- while (temp = readline (""))
- {
- if (*temp)
- add_history (temp);
- printf ("%s\n", temp);
- }
-
- return (ferror (stdout));
-}
-
-static int
-fcopy(fp)
- FILE *fp;
-{
- int c;
- char *x;
-
- while ((c = getc(fp)) != EOF)
- {
- if (vflag && isascii ((unsigned char)c) && isprint((unsigned char)c) == 0)
- {
- x = rl_untranslate_keyseq (c);
- if (fputs (x, stdout) != 0)
- return 1;
- }
- else if (putchar (c) == EOF)
- return 1;
- }
- return (ferror (stdout));
-}
-
-int
-stdcat (argc, argv)
- int argc;
- char **argv;
-{
- int i, fd, r;
- char *s;
- FILE *fp;
-
- if (argc == 0)
- return (fcopy(stdin));
-
- for (i = 0, r = 1; i < argc; i++)
- {
- if (*argv[i] == '-' && argv[i][1] == 0)
- fp = stdin;
- else
- {
- fp = fopen (argv[i], "r");
- if (fp == 0)
- {
- fprintf (stderr, "%s: %s: cannot open: %s\n", progname, argv[i], strerror(errno));
- continue;
- }
- }
- r = fcopy (fp);
- if (fp != stdin)
- fclose(fp);
- }
- return r;
-}