X-Git-Url: https://git.subgeniuskitty.com/unix-history/.git/blobdiff_plain/c66bde989c72461b5ca17917a47f91441a3f3347..ed554bc5e4201344d7eaad78263566e79428759c:/usr/src/usr.bin/ctags/fortran.c diff --git a/usr/src/usr.bin/ctags/fortran.c b/usr/src/usr.bin/ctags/fortran.c index 586d9194c1..d0db9ed3e5 100644 --- a/usr/src/usr.bin/ctags/fortran.c +++ b/usr/src/usr.bin/ctags/fortran.c @@ -1,38 +1,68 @@ /* - * Copyright (c) 1987, 1993 + * Copyright (c) 1987, 1993, 1994 * The Regents of the University of California. All rights reserved. * - * %sccs.include.redist.c% + * 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 the University of + * California, Berkeley and its contributors. + * 4. 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. */ #ifndef lint -static char sccsid[] = "@(#)fortran.c 8.1 (Berkeley) %G%"; +static char sccsid[] = "@(#)fortran.c 8.3 (Berkeley) 4/2/94"; #endif /* not lint */ +#include +#include #include #include + #include "ctags.h" -static void takeprec(); +static void takeprec __P((void)); char *lbp; /* line buffer pointer */ +int PF_funcs() { - register bool pfcnt; /* pascal/fortran functions found */ - register char *cp; - char tok[MAXTOKEN], - *gettoken(); + bool pfcnt; /* pascal/fortran functions found */ + char *cp; + char tok[MAXTOKEN]; for (pfcnt = NO;;) { lineftell = ftell(inf); - if (!fgets(lbuf,sizeof(lbuf),inf)) - return(pfcnt); + if (!fgets(lbuf, sizeof(lbuf), inf)) + return (pfcnt); ++lineno; lbp = lbuf; if (*lbp == '%') /* Ratfor escape to fortran */ ++lbp; - for (;isspace(*lbp);++lbp); + for (; isspace(*lbp); ++lbp) + continue; if (!*lbp) continue; switch (*lbp | ' ') { /* convert to lower-case */ @@ -42,7 +72,8 @@ PF_funcs() break; case 'd': if (cicmp("double")) { - for (;isspace(*lbp);++lbp); + for (; isspace(*lbp); ++lbp) + continue; if (!*lbp) continue; if (cicmp("precision")) @@ -63,7 +94,8 @@ PF_funcs() takeprec(); break; } - for (;isspace(*lbp);++lbp); + for (; isspace(*lbp); ++lbp) + continue; if (!*lbp) continue; switch (*lbp | ' ') { @@ -81,16 +113,18 @@ PF_funcs() default: continue; } - for (;isspace(*lbp);++lbp); + for (; isspace(*lbp); ++lbp) + continue; if (!*lbp) continue; - for (cp = lbp + 1;*cp && intoken(*cp);++cp); + for (cp = lbp + 1; *cp && intoken(*cp); ++cp) + continue; if (cp = lbp + 1) continue; *cp = EOS; - (void)strcpy(tok,lbp); + (void)strcpy(tok, lbp); getline(); /* process line for ex(1) */ - pfnote(tok,lineno); + pfnote(tok, lineno); pfcnt = YES; } /*NOTREACHED*/ @@ -100,30 +134,35 @@ PF_funcs() * cicmp -- * do case-independent strcmp */ +int cicmp(cp) - register char *cp; + char *cp; { - register int len; - register char *bp; + int len; + char *bp; - for (len = 0,bp = lbp;*cp && (*cp &~ ' ') == (*bp++ &~ ' '); - ++cp,++len); + for (len = 0, bp = lbp; *cp && (*cp &~ ' ') == (*bp++ &~ ' '); + ++cp, ++len) + continue; if (!*cp) { lbp += len; - return(YES); + return (YES); } - return(NO); + return (NO); } static void takeprec() { - for (;isspace(*lbp);++lbp); + for (; isspace(*lbp); ++lbp) + continue; if (*lbp == '*') { - for (++lbp;isspace(*lbp);++lbp); + for (++lbp; isspace(*lbp); ++lbp) + continue; if (!isdigit(*lbp)) --lbp; /* force failure */ else - while (isdigit(*++lbp)); + while (isdigit(*++lbp)) + continue; } }