summaryrefslogtreecommitdiffstats
path: root/contrib/global/gtags
diff options
context:
space:
mode:
Diffstat (limited to 'contrib/global/gtags')
-rw-r--r--contrib/global/gtags/gtags.c25
-rw-r--r--contrib/global/gtags/gtags.pl84
2 files changed, 14 insertions, 95 deletions
diff --git a/contrib/global/gtags/gtags.c b/contrib/global/gtags/gtags.c
index ef4a8e9..10d27a6 100644
--- a/contrib/global/gtags/gtags.c
+++ b/contrib/global/gtags/gtags.c
@@ -31,9 +31,15 @@
* gtags.c 12-Dec-97
*
*/
+
+#include <sys/stat.h>
+
+#include <ctype.h>
#include <stdio.h>
#include <stdlib.h>
-#include <sys/stat.h>
+#include <time.h>
+#include <unistd.h>
+
#include "global.h"
char *progname = "gtags"; /* command name */
@@ -43,13 +49,12 @@ void main __P((int, char **));
int incremental __P((char *));
void tagadd __P((int, char *));
void createtags __P((char *, int));
-char *current __P(());
+char *current __P((void));
static int iflag;
static int oflag;
static int vflag;
-static int Dflag;
-static int Rflag;
+
static void
usage()
@@ -65,8 +70,7 @@ char *argv[];
{
char dbpath[MAXPATHLEN+1];
char env[MAXENVLEN+1];
- char *path, *p;
- FILE *ip;
+ char *p;
int db;
while (--argc > 0 && (++argv)[0][0] == '-') {
@@ -161,7 +165,7 @@ char *dbpath;
die1("stat failed '%s'.", path);
gtags_mtime = sb.st_mtime;
- for (findopen(); path = findread(NULL); ) {
+ for (findopen(); (path = findread(NULL)) != NULL; ) {
if (stat(path, &sb) < 0)
die1("stat failed '%s'.", path);
/*
@@ -235,7 +239,7 @@ char *path;
p = strclose();
if (!(ip = popen(p, "r")))
die1("cannot execute '%s'.", p);
- while (tagline = mgets(ip, 0, NULL)) {
+ while ((tagline = mgets(ip, 0, NULL)) != NULL) {
p = tagline;
q = key;
while (*p && !isspace(*p))
@@ -264,7 +268,7 @@ int db;
if (db == GRTAGS)
lookupopen(dbpath);
tagopen(dbpath, db, 1);
- for (findopen(); path = findread(NULL); ) {
+ for (findopen(); (path = findread(NULL)) != NULL; ) {
/*
* GRTAGS and GSYMS doesn't treat asembler.
*/
@@ -287,9 +291,8 @@ int db;
*
* r) date and time
*/
-#include <time.h>
char *
-current()
+current(void)
{
static char buf[80];
time_t tval;
diff --git a/contrib/global/gtags/gtags.pl b/contrib/global/gtags/gtags.pl
deleted file mode 100644
index 20c5877..0000000
--- a/contrib/global/gtags/gtags.pl
+++ /dev/null
@@ -1,84 +0,0 @@
-#!/usr/bin/perl
-#
-# Copyright (c) 1996, 1997 Shigio Yamaguchi. 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. All advertising materials mentioning features or use of this software
-# must display the following acknowledgement:
-# This product includes software developed by Shigio Yamaguchi.
-# 4. Neither the name of the author nor the names of any co-contributors
-# may be used to endorse or promote products derived from this software
-# without specific prior written permission.
-#
-# THIS SOFTWARE IS PROVIDED BY THE AUTHOR 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 AUTHOR 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.
-#
-# gtags.pl 5-Jul-97
-#
-$com = $0;
-$com =~ s/.*\///;
-$usage = "usage: $com [-e][-s][dbpath]";
-$ENV{'PATH'} = '/bin:/usr/bin';
-#
-# ctags flag
-#
-$eflag = $sflag = '';
-while ($ARGV[0] =~ /^-/) {
- $opt = shift;
- if ($opt =~ /[^-es]/) { die "$usage\n"; }
- if ($opt =~ /e/) { $eflag = 'e'; }
- if ($opt =~ /s/) { $sflag = 's'; }
-}
-$dbpath = '.';
-$dbpath = $ARGV[0] if ($ARGV[0]);
-if (-f "$dbpath/GTAGS" && -f "$dbpath/GRTAGS") {
- if (! -w "$dbpath/GTAGS") {
- die "$com: cannot write to GTAGS.\n";
- } elsif (! -w "$dbpath/GRTAGS") {
- die "$com: cannot write to GRTAGS.\n";
- }
-} elsif (! -w "$dbpath") {
- die "$com: cannot write to the directory '$dbpath'.\n"
-}
-#
-# make global database
-#
-foreach $db ('GTAGS', 'GRTAGS') {
- # currently only *.c *.h *.y are supported.
- # *.s *.S is valid only when -s option specified.
- open(FIND, "find . -type f -name '*.[chysS]' -print |") || die "$com: cannot exec find.\n";
- open(DB, "|btreeop -C $dbpath/$db") || die "$com: cannot create db file '$dbpath/$db'.\n";
- while (<FIND>) {
- chop;
- next if /(y\.tab\.c|y\.tab\.h)$/;
- next if /(\/SCCS\/|\/RCS\/)/;
- next if (/\.[sS]$/ && (!$sflag || $db eq 'GRTAGS'));
-
- $flag = ($db eq 'GRTAGS') ? "${eflag}Dxr" : "${eflag}Dx";
- $ENV{'GTAGDBPATH'} = $dbpath;
- open(TAGS, "gctags -$flag $_ |") || die "$com: cannot read '$_'.\n";
- while (<TAGS>) {
- print DB;
- }
- close(TAGS);
- }
- close(DB);
- close(FIND);
-}
-exit 0;
OpenPOWER on IntegriCloud