diff options
author | Ingo Schwarze <schwarze@openbsd.org> | 2017-04-24 23:32:00 +0000 |
---|---|---|
committer | Ingo Schwarze <schwarze@openbsd.org> | 2017-04-24 23:32:00 +0000 |
commit | 1d7bbe9162b45f39588ad7e4cc111f2c93887e72 (patch) | |
tree | fecc8d055a2f7ebad256379c4edfd389e32e058f | |
parent | 34d4ee2337055c6ee3b2c34dbcb0c4a24a7413d1 (diff) | |
download | mandoc-1d7bbe9162b45f39588ad7e4cc111f2c93887e72.tar.gz |
Delete the manpage(1) utility.
It was never enabled in any release, nor was a manual ever written.
In general, we want to simplify the user interface rather than
succumb to featurism. Consequently, integrating manpage(1)
into the main binary would seem like a dubious direction.
-rw-r--r-- | Makefile | 9 | ||||
-rw-r--r-- | Makefile.depend | 1 | ||||
-rw-r--r-- | manpage.c | 195 |
3 files changed, 0 insertions, 205 deletions
@@ -95,7 +95,6 @@ SRCS = att.c \ mandoc_ohash.c \ mandocd.c \ mandocdb.c \ - manpage.c \ manpath.c \ mansearch.c \ mdoc.c \ @@ -295,10 +294,6 @@ MANDOCD_OBJS = $(MANDOC_HTML_OBJS) \ out.o \ tag.o -MANPAGE_OBJS = $(DBM_OBJS) \ - manpage.o \ - manpath.o - DEMANDOC_OBJS = demandoc.o SOELIM_OBJS = soelim.o \ @@ -374,7 +369,6 @@ clean: rm -f mandoc $(MAIN_OBJS) rm -f man.cgi $(CGI_OBJS) rm -f mandocd catman $(MANDOCD_OBJS) - rm -f manpage $(MANPAGE_OBJS) rm -f demandoc $(DEMANDOC_OBJS) rm -f soelim $(SOELIM_OBJS) rm -f $(WWW_MANS) $(WWW_OBJS) @@ -493,9 +487,6 @@ libmandoc.a: $(COMPAT_OBJS) $(LIBMANDOC_OBJS) mandoc: $(MAIN_OBJS) libmandoc.a $(CC) -o $@ $(LDFLAGS) $(MAIN_OBJS) libmandoc.a $(LDADD) -manpage: $(MANPAGE_OBJS) libmandoc.a - $(CC) -o $@ $(LDFLAGS) $(MANPAGE_OBJS) libmandoc.a $(LDADD) - man.cgi: $(CGI_OBJS) libmandoc.a $(CC) $(STATIC) -o $@ $(LDFLAGS) $(CGI_OBJS) libmandoc.a $(LDADD) diff --git a/Makefile.depend b/Makefile.depend index 56bd4f98..8827f0ce 100644 --- a/Makefile.depend +++ b/Makefile.depend @@ -42,7 +42,6 @@ mandoc_aux.o: mandoc_aux.c config.h mandoc.h mandoc_aux.h mandoc_ohash.o: mandoc_ohash.c mandoc_aux.h mandoc_ohash.h compat_ohash.h mandocd.o: mandocd.c config.h mandoc.h roff.h mdoc.h man.h main.h manconf.h mandocdb.o: mandocdb.c config.h compat_fts.h mandoc_aux.h mandoc_ohash.h compat_ohash.h mandoc.h roff.h mdoc.h man.h manconf.h mansearch.h dba_array.h dba.h -manpage.o: manpage.c config.h manconf.h mansearch.h manpath.o: manpath.c config.h mandoc_aux.h manconf.h mansearch.o: mansearch.c config.h mandoc.h mandoc_aux.h mandoc_ohash.h compat_ohash.h manconf.h mansearch.h dbm.h mdoc.o: mdoc.c config.h mandoc_aux.h mandoc.h roff.h mdoc.h libmandoc.h roff_int.h libmdoc.h diff --git a/manpage.c b/manpage.c deleted file mode 100644 index 0ac047ec..00000000 --- a/manpage.c +++ /dev/null @@ -1,195 +0,0 @@ -/* $Id$ */ -/* - * Copyright (c) 2012 Kristaps Dzonsons <kristaps@bsd.lv> - * Copyright (c) 2013 Ingo Schwarze <schwarze@openbsd.org> - * - * Permission to use, copy, modify, and distribute this software for any - * purpose with or without fee is hereby granted, provided that the above - * copyright notice and this permission notice appear in all copies. - * - * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES - * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF - * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR - * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES - * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN - * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF - * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. - */ -#include "config.h" - -#include <sys/types.h> - -#include <assert.h> -#include <limits.h> -#include <stdint.h> -#include <stdio.h> -#include <stdlib.h> -#include <string.h> -#include <unistd.h> - -#include "manconf.h" -#include "mansearch.h" - -static void show(const char *, const char *); - -int -main(int argc, char *argv[]) -{ - int ch, term; - size_t i, sz, linesz; - ssize_t len; - struct mansearch search; - struct manpage *res; - char *conf_file, *defpaths, *auxpaths, *line; - char buf[PATH_MAX]; - const char *cmd; - struct manconf conf; - char *progname; - extern char *optarg; - extern int optind; - - term = isatty(STDIN_FILENO) && isatty(STDOUT_FILENO); - - progname = strrchr(argv[0], '/'); - if (progname == NULL) - progname = argv[0]; - else - ++progname; - - auxpaths = defpaths = conf_file = NULL; - memset(&conf, 0, sizeof(conf)); - memset(&search, 0, sizeof(struct mansearch)); - - while (-1 != (ch = getopt(argc, argv, "C:M:m:S:s:"))) - switch (ch) { - case ('C'): - conf_file = optarg; - break; - case ('M'): - defpaths = optarg; - break; - case ('m'): - auxpaths = optarg; - break; - case ('S'): - search.arch = optarg; - break; - case ('s'): - search.sec = optarg; - break; - default: - goto usage; - } - - argc -= optind; - argv += optind; - - if (0 == argc) - goto usage; - - search.outkey = "Nd"; - search.argmode = ARG_EXPR; - - manconf_parse(&conf, conf_file, defpaths, auxpaths); - ch = mansearch(&search, &conf.manpath, argc, argv, &res, &sz); - manconf_free(&conf); - - if (0 == ch) - goto usage; - - if (0 == sz) { - free(res); - return EXIT_FAILURE; - } else if (1 == sz && term) { - i = 1; - goto show; - } else if (NULL == res) - return EXIT_FAILURE; - - for (i = 0; i < sz; i++) { - printf("%6zu %s: %s\n", - i + 1, res[i].names, res[i].output); - free(res[i].names); - free(res[i].output); - } - - if (0 == term) { - for (i = 0; i < sz; i++) - free(res[i].file); - free(res); - return EXIT_SUCCESS; - } - - i = 1; - printf("Enter a choice [1]: "); - fflush(stdout); - - line = NULL; - linesz = 0; - if ((len = getline(&line, &linesz, stdin)) != -1) { - if ('\n' == line[--len] && len > 0) { - line[len] = '\0'; - if ((i = atoi(line)) < 1 || i > sz) - i = 0; - } - } - free(line); - - if (0 == i) { - for (i = 0; i < sz; i++) - free(res[i].file); - free(res); - return EXIT_SUCCESS; - } -show: - cmd = res[i - 1].form ? "mandoc" : "cat"; - strlcpy(buf, res[i - 1].file, PATH_MAX); - for (i = 0; i < sz; i++) - free(res[i].file); - free(res); - - show(cmd, buf); - /* NOTREACHED */ -usage: - fprintf(stderr, "usage: %s [-C conf] " - "[-M paths] " - "[-m paths] " - "[-S arch] " - "[-s section] " - "expr ...\n", - progname); - return EXIT_FAILURE; -} - -static void -show(const char *cmd, const char *file) -{ - int fds[2]; - pid_t pid; - - if (-1 == pipe(fds)) { - perror(NULL); - exit(EXIT_FAILURE); - } - - if (-1 == (pid = fork())) { - perror(NULL); - exit(EXIT_FAILURE); - } else if (pid > 0) { - dup2(fds[0], STDIN_FILENO); - close(fds[1]); - cmd = NULL != getenv("MANPAGER") ? - getenv("MANPAGER") : - (NULL != getenv("PAGER") ? - getenv("PAGER") : "more"); - execlp(cmd, cmd, (char *)NULL); - perror(cmd); - exit(EXIT_FAILURE); - } - - dup2(fds[1], STDOUT_FILENO); - close(fds[0]); - execlp(cmd, cmd, file, (char *)NULL); - perror(cmd); - exit(EXIT_FAILURE); -} |