V10/cmd/dimpress/main.c

Compare this file to the similar file:
Show the results in this format:



/*
 *
 * Template for normal C programs. All the code was written with standard
 * tab settings, ie. every eighth column. Options are processed in routine
 * options() using getopt(). The non-option arguments are handled in
 * arguments(). To add a new option add its name to string *name and an
 * appropriate case to the switch in options() (see getopt in section 3
 * of the UNIX manual). You'll also need to add a bunch of code to handle
 * the non-option arguments.
 *
 */


#include <stdio.h>

#include "gen.h"			/* general purpose definitions */
#include "ext.h"			/* external variable declarations */


/*****************************************************************************/


main(agc, agv)


    int		agc;
    char	*agv[];


{


/*
 *
 *
 */


    argc = agc;				/* other routines may want them */
    argv = agv;

    prog_name = argv[0];		/* really just for error messages */

    options();				/* first get command line options */
    arguments();			/* then process non-option arguments */

    exit(x_stat);			/* everything probably went OK */

}   /* End of main */


/*****************************************************************************/


options()


{


    int		ch;			/* return value from getopt() */
    char	*names = "DIF:R:o:";

    extern char	*optarg;		/* used by getopt() */
    extern int	optind;


/*
 *
 * Reads and processes the command line options. Right now the recognized
 * options are,
 *
 */


    while ( (ch = getopt(argc, argv, names)) != EOF )  {

	switch ( ch )  {

	    case 'o':			/* processing range list */
		    out_list(optarg);
		    break;

	    case 'F':			/* new troff font directory */
		    fontdir = optarg;
		    break;

	    case 'R':			/* set raster table directory */
		    rastdir = optarg;
		    break;

	    case 'D':			/* debug flag */
		    debug = ON;
		    break;

	    case 'I':			/* ignore FATAL errors */
		    ignore = ON;
		    break;

	    case '?':			/* don't understand the option */
		    error(FATAL, "");
		    break;

	    default:			/* don't know what to do for ch */
		    error(FATAL, "missing case for option %c\n", ch);
		    break;

	}   /* End switch */

    }   /* End while */

    argc -= optind;			/* get ready for non-option args */
    argv += optind;

}   /* End of options */


/*****************************************************************************/


arguments()


{


    char	*file;
    int		size;
    int		i;


/*
 *
 * Makes sure all the non-option command line arguments are processed.
 *
 */


    if ( argc < 1 )
	printf("No non-option arguments\n");
    else  {				/* have at least one argument */
	while ( argc > 0 )  {
	    file = *argv++;
	    argc--;
	    size = atoi(*argv);
	    fprintf(stderr, "Get raster file for %s.r%d\n", file, size);
	    getrastdata(file, size);
	    for ( i = 0; i < 127; i++ ) dump_glyph(i);
	    argc--;
	    argv++;
	}   /* End while */
    }   /* End else */

}   /* End of arguments */


/*****************************************************************************/