version 1.1, 2010/09/07 12:53:05
|
version 1.2, 2013/06/12 09:47:52
|
Line 22 ARISING OUT OF OR IN CONNECTION WITH THE
|
Line 22 ARISING OUT OF OR IN CONNECTION WITH THE
|
THIS SOFTWARE. |
THIS SOFTWARE. |
****************************************************************/ |
****************************************************************/ |
|
|
const char *version = "version 20100523"; |
const char *version = "version 20121220"; |
|
|
#define DEBUG |
#define DEBUG |
#include <stdio.h> |
#include <stdio.h> |
Line 38 extern char **environ;
|
Line 38 extern char **environ;
|
extern int nfields; |
extern int nfields; |
|
|
int dbg = 0; |
int dbg = 0; |
|
Awkfloat srand_seed = 1; |
char *cmdname; /* gets argv[0] for error messages */ |
char *cmdname; /* gets argv[0] for error messages */ |
extern FILE *yyin; /* lex input file */ |
extern FILE *yyin; /* lex input file */ |
char *lexprog; /* points to program argument if it exists */ |
char *lexprog; /* points to program argument if it exists */ |
Line 67 int main(int argc, char *argv[])
|
Line 68 int main(int argc, char *argv[])
|
exit(1); |
exit(1); |
} |
} |
signal(SIGFPE, fpecatch); |
signal(SIGFPE, fpecatch); |
|
|
|
srand_seed = 1; |
|
srand(srand_seed); |
|
|
yyin = NULL; |
yyin = NULL; |
symtab = makesymtab(NSYMTAB/NSYMTAB); |
symtab = makesymtab(NSYMTAB/NSYMTAB); |
while (argc > 1 && argv[1][0] == '-' && argv[1][1] != '\0') { |
while (argc > 1 && argv[1][0] == '-' && argv[1][1] != '\0') { |
Line 86 int main(int argc, char *argv[])
|
Line 91 int main(int argc, char *argv[])
|
safe = 1; |
safe = 1; |
break; |
break; |
case 'f': /* next argument is program filename */ |
case 'f': /* next argument is program filename */ |
argc--; |
if (argv[1][2] != 0) { /* arg is -fsomething */ |
argv++; |
if (npfile >= MAX_PFILE - 1) |
if (argc <= 1) |
FATAL("too many -f options"); |
FATAL("no program filename"); |
pfile[npfile++] = &argv[1][2]; |
if (npfile >= MAX_PFILE - 1) |
} else { /* arg is -f something */ |
FATAL("too many -f options"); |
argc--; argv++; |
pfile[npfile++] = argv[1]; |
if (argc <= 1) |
|
FATAL("no program filename"); |
|
if (npfile >= MAX_PFILE - 1) |
|
FATAL("too many -f options"); |
|
pfile[npfile++] = argv[1]; |
|
} |
break; |
break; |
case 'F': /* set field separator */ |
case 'F': /* set field separator */ |
if (argv[1][2] != 0) { /* arg is -Fsomething */ |
if (argv[1][2] != 0) { /* arg is -Fsomething */ |
Line 111 int main(int argc, char *argv[])
|
Line 121 int main(int argc, char *argv[])
|
WARNING("field separator FS is empty"); |
WARNING("field separator FS is empty"); |
break; |
break; |
case 'v': /* -v a=1 to be done NOW. one -v for each */ |
case 'v': /* -v a=1 to be done NOW. one -v for each */ |
if (argv[1][2] == '\0' && --argc > 1 && isclvar((++argv)[1])) |
if (argv[1][2] != 0) { /* arg is -vsomething */ |
setclvar(argv[1]); |
if (isclvar(&argv[1][2])) |
else if (argv[1][2] != '\0') |
setclvar(&argv[1][2]); |
setclvar(&argv[1][2]); |
else |
|
FATAL("invalid -v option argument: %s", &argv[1][2]); |
|
} else { /* arg is -v something */ |
|
argc--; argv++; |
|
if (argc <= 1) |
|
FATAL("no variable name"); |
|
if (isclvar(argv[1])) |
|
setclvar(argv[1]); |
|
else |
|
FATAL("invalid -v option argument: %s", argv[1]); |
|
} |
break; |
break; |
case 'd': |
case 'd': |
dbg = atoi(&argv[1][2]); |
dbg = atoi(&argv[1][2]); |