diff options
Diffstat (limited to 'contrib/global/gtags')
-rw-r--r-- | contrib/global/gtags/gtags.c | 25 | ||||
-rw-r--r-- | contrib/global/gtags/gtags.pl | 84 |
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; |