main.c revision dc5a8425272d2602e4c21b95b9eeac2b897f45a1
/*
* CDDL HEADER START
*
* The contents of this file are subject to the terms of the
* Common Development and Distribution License, Version 1.0 only
* (the "License"). You may not use this file except in compliance
* with the License.
*
* You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
* See the License for the specific language governing permissions
* and limitations under the License.
*
* When distributing Covered Code, include this CDDL HEADER in each
* file and include the License file at usr/src/OPENSOLARIS.LICENSE.
* If applicable, add the following below this CDDL HEADER, with the
* fields enclosed by brackets "[]" replaced with your own identifying
* information: Portions Copyright [yyyy] [name of copyright owner]
*
* CDDL HEADER END
*/
/*
* Copyright 1999 Sun Microsystems, Inc. All rights reserved.
* Use is subject to license terms.
*/
/* Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T */
/* All Rights Reserved */
#pragma ident "%Z%%M% %I% %E% SMI"
#include <stdio.h>
#include <ctype.h>
#include "awk.def"
#include "awk.h"
#include <wctype.h>
#include <getwidth.h>
#include <langinfo.h>
#include <stdlib.h>
int dbg = 0;
int svargc;
extern int errorflag; /* non-zero if any syntax errors; set by yyerror */
extern void syminit(void);
int
{
int i;
char *nl_radix;
/*
* At this point, numbers are still scanned as in
* the POSIX locale.
* (POSIX.2, volume 2, P867, L4742-4757)
*/
#ifndef TEXT_DOMAIN
#define TEXT_DOMAIN "SYS_TEST"
#endif
if (argc == 1) {
gettext("awk: Usage: awk [-Fc] [-f source | 'cmds'] [files]\n"));
exit(2);
}
syminit();
for (i = 0; i < argc; i++) {
wargv[i] = p;
}
while (argc > 1) {
argc--;
wargv++;
/* this nonsense is because gcos argument handling */
/* folds -F into -f. accordingly, one checks the next */
/* character after f to see if it's -f file or -Fx. */
wargv[0][2] == 0) {
if (argc <= 1)
? stdin
argc--;
wargv++;
break;
**FS = L'\t';
else
/* set field sep */
continue;
} else if (wargv[0][0] != L'-') {
break;
dbg = 1;
}
}
if (argc <= 1) {
wargv[0][0] = L'-';
wargv[0][1] = 0;
argc++;
wargv--;
}
yyparse();
/*
* done parsing, so now activate the LC_NUMERIC
*/
if (nl_radix) {
}
if (errorflag)
return (errorflag);
}
int
yywrap()
{
return (1);
}