---
name: "ffscan"
section: "1"
platform: "linux"
package: "forutil"
version: "0.62-4"
release: "Debian 5.0 (Lenny)"
platforms: ["linux"]
url: "https://new.carta.tech/ffscan"
---

# ffscan(1)

checks argument count for fortran f77 files

## NAME

ffscan - checks argument count for fortran f77 files

## SYNOPSIS

**ffscan \[-fhnqv\]** **-E***ext* **-I***dir* **-o***file* **-x***name* **\[files\]**

## DESCRIPTION

**ffscan** scans a collection of fortran files and checks the argument counts of every call made against its definition. When a mismatch occurs,  **ffscan** will tell you in which file this particular call is made, and it will also tell what the correct number of arguments should be, together with the name of the file where the subroutine in question can be found.  **ffscan** does not do any type checking on the arguments, it simply counts them.

## OPTIONS

- **-f**

  Include the full path of files in the output. The default is to print the name of the file only. Using this option increases the  memory  **ffscan** uses to store its data, so it might be unwise to  use this option on msdos systems with their 640kb memory limit.

- **-h, --help**

  print a short help describing the options.

- **-n, -n-**

  Using this option will cause  **ffscan** to tell what subroutines are never invoked.

- **-q**

  be really quiet (usefull if called from a script). Only  error messages and the final results will be shown.

- **-v**

  Be verbose. Adding more -v to the command line will increase the output **ffscan** will generate.

  Using  **-v** will show some statistics of the files being scanned such as the number  of subroutines and functions defined in a file and the number of calls made.  If you use the  **-o***file* option, these statistics will also be placed in  *file*

  Using  **-vv** will, in addition to the output mentioned above, cause  **ffscan** to report all settings it is using to determine what files it has to scan.

  When you use **-vvv** **ffscan** will tell you what it is scanning from your files, this in addition to the output mentioned above.  For each subroutine, function or call it encounters,  **ffscan** will tell you what the name of that routine is and the arguments detected. It will also tell you how many arguments there are. A number called brace count is also shown. This number should always be zero. Using this option can generate a considerable amount of output, so you might wish to pipe it to a file.

  At the end of a run  **ffscan** will also give a count for the total number of subroutines and functions found.

- **--version**

  Show the version number of  **ffscan**

- **-E***ext*

  Extensions  **ffscan** must use to determine which files it  has to scan. Up to eight -E are allowed.  The default extension is .f

- **-I***dir*

  Using this option tells  **ffscan** which directories it has to search for f77 files. Only the contents of that  directory are scanned. Subdirectories are ignored.  Up to 64 -I are allowed.

- **-o***file*

  file in which to store the results of the scan. The default is stdout.

- **-x***name*

  Tells  **ffscan** to exclude the named file when scanning  the files found with the  **-I -E** options.  Up to 64 -x are allowed.

## DIAGNOSTICS

The following warning messages can occur:

- **WARNING: unbalanced right brace**

  - **WARNING: unbalanced left brace**

  When one of these warnings occur, you have a brace to many or a missing brace  in the argument list of a subroutine or function definition or in the argument list of a call.

- **WARNING: more than 19 contination lines**

  **ffscan** has detected more than 19 successive continuation lines in a argument declaration.

- **WARNING: no program entry point found**

  a call statement was encountered before a PROGRAM statement was found.  **ffscan** will use the name of the file where this warning occurs as a program name and continue.

  **ffscan** will always tell you in which file and around what line  these warnings occur.

## DISTRIBUTION POLICY

All utilities in this fortran utility suite are distributed under the GNU Public License.

## COMPATIBILITY

**ffscan** has run under HP-UX 9 and 10, SGI IRIX 5.2 & 5.3, DEC OSF1, SunOs 4.1 and 4.3, Cray Unicos, IBM AIX 3.2 & 4.1, Linux and MSDOS 6.2.  **ffscan** also runs in a dos box under Windows 3.1, 3.11 and Win95.

## SHORTCOMINGS

Currently,  **ffscan** only looks at CALL, so although FUNCTION is found, these are not checked.

## BUGS

The MS-DOS versions of these tools can cause problems under MS-DOS if you feed them with a large collection of files, few files with a lot of calls or a combination of both. This is totally due to the 640kb memory limit MS-DOS has.

If you think you have found a bug, you can send email to the author, describing what the bug is, how you generated it and if you can reproduce it. Also specify the platform where this bug occured.

## AUTHOR

Koen D'Hondt

ripley@xs4all.nl

(C)Copyright 1995-1996 by Ripley Software Development

## SEE ALSO

[**fflow**(1)](/fflow/1.md), [**ftags**(1)](/ftags/1.md), [**scan\_commons**(1)](/scan_commons/1.md), [**get\_common**(1)](/get_common/1.md), [**list\_commons**(1)](/list_commons/1.md)
