diff options
Diffstat (limited to 'idx.c')
-rw-r--r-- | idx.c | 95 |
1 files changed, 0 insertions, 95 deletions
@@ -1,95 +0,0 @@ -/* static char copyright[] = "@(#)Copyright (c) 1986, Greg McGary"; - static char sccsid[] = "@(#)idx.c 1.2 86/10/17"; */ - -#include <stdio.h> -#include <string.h> - -#include <config.h> -#include "misc.h" -#include "filenames.h" -#include "scanners.h" - -void idxtract __P((char *path)); - -char const *program_name; - -static void -usage (void) -{ - fprintf (stderr, "\ -Usage: %s [(+|-)S<scanarg>] files\n\ - -S<lang>-<arg> Pass arg to <lang> scanner\n\ - -S.<suffix>=<lang> Scan files with .<suffix> as <lang>\n\ - -S<lang>? Print usage documentation for <lang>\n", - program_name); - - exit (1); -} - -int -main (int argc, char **argv) -{ - char *arg; - int op; - - program_name = basename ((argc--, *argv++)); - - init_scanners (); - - while (argc) - { - arg = (argc--, *argv++); - switch (op = *arg++) - { - case '-': - case '+': - break; - default: - (argc++, --argv); - goto argsdone; - } - switch (*arg++) - { - case 'S': - set_scan_args (op, arg); - break; - default: - usage (); - } - } -argsdone: - - if (argc == 0) - usage (); - - while (argc) - idxtract ((argc--, *argv++)); - - return 0; -} - -void -idxtract (char *file_name) -{ - char const *key; - FILE *source_FILE; - int flags; - char const *suffix; - char const *filter; - char const *lang_name; - get_token_t scanner; - - suffix = strrchr (file_name, '.'); - lang_name = get_lang_name (suffix); - scanner = get_scanner (lang_name); - if (scanner == NULL) - return; - source_FILE = open_source_FILE (file_name, filter = get_filter (suffix)); - if (source_FILE == NULL) - return; - - while ((key = (*scanner) (source_FILE, &flags)) != NULL) - puts (key); - - close_source_FILE (source_FILE, filter); -} |