summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--libexec/Makefile4
-rw-r--r--libexec/getNAME/Makefile7
-rw-r--r--libexec/getNAME/getNAME.890
-rw-r--r--libexec/getNAME/getNAME.c342
4 files changed, 2 insertions, 441 deletions
diff --git a/libexec/Makefile b/libexec/Makefile
index fd77323d4ff..91a81e0ad32 100644
--- a/libexec/Makefile
+++ b/libexec/Makefile
@@ -1,9 +1,9 @@
# from: @(#)Makefile 5.7 (Berkeley) 4/1/91
-# $OpenBSD: Makefile,v 1.45 2011/04/17 21:26:38 schwarze Exp $
+# $OpenBSD: Makefile,v 1.46 2011/09/19 06:47:49 okan Exp $
.include <bsd.own.mk>
-SUBDIR= comsat fingerd ftpd getNAME getty identd lockspool \
+SUBDIR= comsat fingerd ftpd getty identd lockspool \
mail.local makewhatis rpc.rquotad rpc.rstatd rpc.rusersd \
rpc.rwalld rpc.sprayd security spamd spamlogd spamd-setup rshd \
talkd tcpd tftp-proxy tftpd uucpd
diff --git a/libexec/getNAME/Makefile b/libexec/getNAME/Makefile
deleted file mode 100644
index a85e02a7041..00000000000
--- a/libexec/getNAME/Makefile
+++ /dev/null
@@ -1,7 +0,0 @@
-# $OpenBSD: Makefile,v 1.2 1997/11/13 04:15:27 millert Exp $
-# from: @(#)Makefile 8.1 (Berkeley) 6/4/93
-
-PROG= getNAME
-MAN= getNAME.8
-
-.include <bsd.prog.mk>
diff --git a/libexec/getNAME/getNAME.8 b/libexec/getNAME/getNAME.8
deleted file mode 100644
index 6b1f5d64c0f..00000000000
--- a/libexec/getNAME/getNAME.8
+++ /dev/null
@@ -1,90 +0,0 @@
-.\" $OpenBSD: getNAME.8,v 1.12 2007/05/31 19:19:39 jmc Exp $
-.\" $NetBSD: getNAME.8,v 1.2.2.1 1997/11/10 19:54:39 thorpej Exp $
-.\"
-.\" Copyright (c) 1997 Matthew R. Green
-.\" All rights reserved.
-.\"
-.\" Redistribution and use in source and binary forms, with or without
-.\" modification, are permitted provided that the following conditions
-.\" are met:
-.\" 1. Redistributions of source code must retain the above copyright
-.\" notice, this list of conditions and the following disclaimer.
-.\" 2. Redistributions in binary form must reproduce the above copyright
-.\" notice, this list of conditions and the following disclaimer in the
-.\" documentation and/or other materials provided with the distribution.
-.\" 3. The name of the author may not be used to endorse or promote products
-.\" derived from this software without specific prior written permission.
-.\"
-.\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
-.\" IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
-.\" OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
-.\" IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
-.\" INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
-.\" BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
-.\" LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
-.\" AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
-.\" OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
-.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
-.\" SUCH DAMAGE.
-.\"
-.Dd $Mdocdate: May 31 2007 $
-.Dt GETNAME 8
-.Os
-.Sh NAME
-.Nm getNAME
-.Nd "get NAME sections from manual source for whatis/apropos data base"
-.Sh SYNOPSIS
-.Nm getNAME
-.Op Fl itw
-.Ar path Op Ar path ...
-.Sh DESCRIPTION
-The
-.Nm
-program looks inside manual sources to retrieve the NAME section of
-the manual page.
-It can be used to create a table of contents, report
-the style of manual, or to create an introduction to the manual section.
-By default,
-.Nm
-returns data for use in an
-.Xr apropos 1
-database.
-.Nm
-is designed to be called from
-.Xr makewhatis 8
-or other manual grovelling tools, not to be used directly.
-.Pp
-The options are as follows:
-.Bl -tag -width Ds
-.It Fl i
-Returns information useful in creating an introduction to a manual
-section.
-See
-.Xr intro 1 ,
-.Xr intro 2 ,
-etc. for examples.
-.It Fl t
-Returns information useful for creating a table of contents.
-.It Fl w
-Determines whether traditional man
-.Pq Dq OLD ,
-new mandoc
-.Pq Dq NEW ,
-or some unknown
-.Pq Dq UNKNOWN
-format exists.
-.El
-.Sh SEE ALSO
-.Xr apropos 1 ,
-.Xr man 1 ,
-.Xr whatis 1 ,
-.Xr makewhatis 8
-.Sh HISTORY
-The
-.Nm
-command first appeared in
-.Bx 2.0 .
-.Sh BUGS
-It would be nice if
-.Nm
-could deal with preformatted manuals.
diff --git a/libexec/getNAME/getNAME.c b/libexec/getNAME/getNAME.c
deleted file mode 100644
index 5238ffc666c..00000000000
--- a/libexec/getNAME/getNAME.c
+++ /dev/null
@@ -1,342 +0,0 @@
-/* $OpenBSD: getNAME.c,v 1.16 2009/10/27 23:59:31 deraadt Exp $ */
-/* $NetBSD: getNAME.c,v 1.7.2.1 1997/11/10 19:54:46 thorpej Exp $ */
-
-/*-
- * Copyright (c) 1980, 1993
- * The Regents of the University of California. All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- * 1. Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in the
- * documentation and/or other materials provided with the distribution.
- * 3. Neither the name of the University nor the names of its contributors
- * may be used to endorse or promote products derived from this software
- * without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
- * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
- * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
- * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
- * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
- * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
- * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
- * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
- * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
- * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
- * SUCH DAMAGE.
- */
-
-/*
- * Get name sections from manual pages.
- * -t for building toc
- * -i for building intro entries
- * -w for querying type of manual source
- * other apropos database
- */
-#include <stdio.h>
-#include <stdlib.h>
-#include <string.h>
-#include <libgen.h>
-
-int tocrc;
-int intro;
-int typeflag;
-
-void doname(char *);
-void dorefname(char *);
-void getfrom(char *);
-void split(char *, char *);
-void trimln(char *);
-__dead void usage(void);
-int main(int, char *[]);
-
-int
-main(int argc, char *argv[])
-{
- int ch;
-
- while ((ch = getopt(argc, argv, "itw")) != -1)
- switch (ch) {
- case 'i':
- intro = 1;
- break;
- case 't':
- tocrc = 1;
- break;
- case 'w':
- typeflag = 1;
- break;
- case '?':
- default:
- usage();
- }
- argc -= optind;
- argv += optind;
-
- if (!*argv)
- usage();
-
- for (; *argv; ++argv)
- getfrom(*argv);
- exit(0);
-}
-
-void
-getfrom(char *pathname)
-{
- int i = 0;
- char *name, *loc, *s, *t;
- char headbuf[BUFSIZ];
- char linbuf[BUFSIZ];
- char savebuf[BUFSIZ];
-
- if (freopen(pathname, "r", stdin) == 0) {
- perror(pathname);
- return;
- }
- name = basename(pathname);
- for (;;) {
- if (fgets(headbuf, sizeof(headbuf), stdin) == NULL) {
- if (typeflag)
- printf("%-60s UNKNOWN\n", pathname);
- return;
- }
- if (headbuf[0] != '.')
- continue;
- if ((headbuf[1] == 'T' && headbuf[2] == 'H') ||
- (headbuf[1] == 't' && headbuf[2] == 'h'))
- break;
- if (headbuf[1] == 'D' && headbuf[2] == 't')
- goto newman;
- }
- if (typeflag) {
- printf("%-60s OLD\n", pathname);
- return;
- }
- for (;;) {
- if (fgets(linbuf, sizeof(linbuf), stdin) == NULL)
- return;
- if (linbuf[0] != '.')
- continue;
- if (linbuf[1] == 'S' && linbuf[2] == 'H')
- break;
- if (linbuf[1] == 's' && linbuf[2] == 'h')
- break;
- }
- trimln(headbuf);
- if (tocrc)
- doname(name);
- linbuf[0] = '\0';
- for (;;) {
- if (fgets(headbuf, sizeof(headbuf), stdin) == NULL)
- break;
- if (headbuf[0] == '.') {
- if (headbuf[1] == 'S' && headbuf[2] == 'H')
- break;
- if (headbuf[1] == 's' && headbuf[2] == 'h')
- break;
- }
- if (i != 0)
- strlcat(linbuf, " ", sizeof(linbuf));
- i++;
- trimln(headbuf);
- strlcat(linbuf, headbuf, sizeof(linbuf));
- /* change the \- into (N) - */
- if ((s = strstr(linbuf, "\\-")) != NULL) {
- strlcpy(savebuf, s+1, sizeof savebuf);
- if ((t = strchr(name, '.')) != NULL) {
- t++;
- *s++ = '(';
- while (*t)
- *s++ = *t++;
- *s++ = ')';
- *s++ = ' ';
- *s++ = '\0';
- }
- strlcat(linbuf, savebuf, sizeof(linbuf));
- }
- }
- if (intro)
- split(linbuf, name);
- else
- printf("%s\n", linbuf);
- return;
-
-newman:
- if (typeflag) {
- printf("%-60s NEW\n", pathname);
- return;
- }
- for (;;) {
- if (fgets(linbuf, sizeof(linbuf), stdin) == NULL)
- return;
- if (linbuf[0] != '.')
- continue;
- if (linbuf[1] == 'S' && linbuf[2] == 'h')
- break;
- }
- trimln(headbuf);
- if (tocrc)
- doname(name);
- linbuf[0] = '\0';
- for (;;) {
- if (fgets(headbuf, sizeof(headbuf), stdin) == NULL)
- break;
- if (headbuf[0] == '.') {
- if (headbuf[1] == 'S' && headbuf[2] == 'h')
- break;
- }
- if (i != 0)
- strlcat(linbuf, " ", sizeof(linbuf));
- i++;
- trimln(headbuf);
- for (loc = strchr(headbuf, ' '); loc; loc = strchr(loc, ' '))
- if (loc[1] == ',')
- memmove(loc, &loc[1], strlen(&loc[1])+1);
- else
- loc++;
- if (headbuf[0] != '.') {
- strlcat(linbuf, headbuf, sizeof(linbuf));
- } else {
- /*
- * Get rid of quotes in macros.
- */
- for (loc = strchr(&headbuf[4], '"'); loc; ) {
- memmove(loc, &loc[1], strlen(&loc[1])+1);
- loc = strchr(loc, '"');
- }
- /*
- * Handle cross references
- */
- if (headbuf[1] == 'X' && headbuf[2] == 'r') {
- for (loc = &headbuf[4]; *loc != ' '; loc++)
- continue;
- loc[0] = '(';
- loc[2] = ')';
- loc[3] = '\0';
- }
-
- /*
- * Put dash between names and description.
- * Put section and dash between names and description.
- */
- if (headbuf[1] == 'N' && headbuf[2] == 'd') {
- if ((t = strchr(name, '.')) != NULL) {
- char *str;
-
- if (asprintf(&str, "(%s)", t+1) == -1)
- return;
- strlcat(linbuf, str, sizeof(linbuf));
- free(str);
- }
- strlcat(linbuf, "- ", sizeof(linbuf));
- }
- /*
- * Skip over macro names.
- */
- strlcat(linbuf, &headbuf[4], sizeof(linbuf));
- }
- }
- if (intro)
- split(linbuf, name);
- else
- printf("%s\n", linbuf);
-}
-
-void
-trimln(char *cp)
-{
-
- while (*cp)
- cp++;
- if (*--cp == '\n')
- *cp = 0;
-}
-
-void
-doname(char *name)
-{
- char *dp = name, *ep;
-
-again:
- while (*dp && *dp != '.')
- putchar(*dp++);
- if (*dp)
- for (ep = dp+1; *ep; ep++)
- if (*ep == '.') {
- putchar(*dp++);
- goto again;
- }
- putchar('(');
- if (*dp)
- dp++;
- while (*dp)
- putchar(*dp++);
- putchar(')');
- putchar(' ');
-}
-
-void
-split(char *line, char *name)
-{
- char *cp, *dp;
- char *sp, *sep;
-
- cp = strchr(line, '-');
- if (cp == 0)
- return;
- sp = cp + 1;
- for (--cp; *cp == ' ' || *cp == '\t' || *cp == '\\'; cp--)
- ;
- *++cp = '\0';
- while (*sp && (*sp == ' ' || *sp == '\t'))
- sp++;
- for (sep = "", dp = line; dp && *dp; dp = cp, sep = "\n") {
- cp = strchr(dp, ',');
- if (cp) {
- char *tp;
-
- for (tp = cp - 1; *tp == ' ' || *tp == '\t'; tp--)
- ;
- *++tp = '\0';
- for (++cp; *cp == ' ' || *cp == '\t'; cp++)
- ;
- }
- printf("%s%s\t", sep, dp);
- dorefname(name);
- printf("\t%s", sp);
- }
-}
-
-void
-dorefname(char *name)
-{
- char *dp = name, *ep;
-
-again:
- while (*dp && *dp != '.')
- putchar(*dp++);
- if (*dp)
- for (ep = dp+1; *ep; ep++)
- if (*ep == '.') {
- putchar(*dp++);
- goto again;
- }
- putchar('.');
- if (*dp)
- dp++;
- while (*dp)
- putchar(*dp++);
-}
-
-void
-usage(void)
-{
- extern char *__progname;
- (void)fprintf(stderr, "usage: %s [-itw] file ...\n", __progname);
- exit(1);
-}