|
DataMuseum.dkPresents historical artifacts from the history of: DKUUG/EUUG Conference tapes |
This is an automatic "excavation" of a thematic subset of
See our Wiki for more about DKUUG/EUUG Conference tapes Excavated with: AutoArchaeologist - Free & Open Source Software. |
top - metrics - downloadIndex: T m
Length: 1960 (0x7a8) Types: TextFile Names: »maketrix.c«
└─⟦a0efdde77⟧ Bits:30001252 EUUGD11 Tape, 1987 Spring Conference Helsinki └─⟦this⟧ »EUUGD11/stat-5.3/eu/stat/src/maketrix.c«
/* Copyright 1982 Gary Perlman */ #include "stat.h" PGM(maketrix,Make A Matrix Format File,5.0,2/27/85) #define MAXCHARS 100 /* maximum number of chars in input fields */ main (argc, argv) char **argv; { ARGV0; initial (argc, argv); checkstdin (); maketrix (stdin); exit (0); } /* OPTIONS */ int Ncols = 2; int Silent = 0; Boole InfoVersion; /* print version information */ Boole InfoLimits; /* print program limits */ Boole InfoOptions; /* print usage information */ initial (argc, argv) char **argv; { extern char *optarg; extern int optind; int errflg = 0; int C; while ((C = getopt (argc, argv, "sLOV")) != EOF) switch (C) { case 's': Silent = 1; break; case 'O': InfoOptions = TRUE; break; case 'V': InfoVersion = TRUE; break; case 'L': InfoLimits = TRUE; break; default: errflg++; break; } if (optind < argc) { if (optind < argc-1) /* too many args; some will be ignored */ errflg++; if (!number (argv[optind])) ERRNUM (argv[optind],number of columns); Ncols = atoi (argv[optind]); if (Ncols < 1) ERRMSG0 (Number of columns must be positive) } if (errflg) USAGE ([-s] [ncols]) usinfo (); } maketrix (ioptr) FILE *ioptr; { char string[MAXCHARS]; int nstrings = 0; while (getword (string, ioptr)) { fputs (string, stdout); if (++nstrings == Ncols) { putchar ('\n'); nstrings = 0; } else putchar ('\t'); } if (nstrings != 0) { putchar ('\n'); if (!Silent) WARNING (last line does not have expected number of columns) } } usinfo () { if (InfoVersion) pver (Version); if (InfoLimits) { plim (Argv0); const (MAXCHARS, "maximum number of characters in input words"); } if (InfoOptions) { ppgm (Argv0, Purpose); lopt ('s', "be silent about uneven last line", Silent); oper ("ncols", "number of columns of output", "2"); } if (InfoVersion || InfoLimits || InfoOptions) exit (0); }