/***********************************************************************
* *
* This software is part of the ast package *
* Copyright (c) 1990-2012 AT&T Intellectual Property *
* and is licensed under the *
* Eclipse Public License, Version 1.0 *
* by AT&T Intellectual Property *
* *
* A copy of the License is available at *
* (with md5 checksum b35adb5213ca9657e911e9befb180842) *
* *
* Information and Software Systems Research *
* AT&T Research *
* Florham Park NJ *
* *
* Glenn Fowler <gsf@research.att.com> *
* *
***********************************************************************/
/* : : generated by proto : : */
#if !defined(__PROTO__)
# if defined(__cplusplus)
# else
# define __LINKAGE__
# endif
# define __STDARG__
# define __PROTO__(x) x
# define __OTORP__(x)
# define __PARAM__(n,o) n
# if !defined(__STDC__) && !defined(__cplusplus)
# if !defined(c_plusplus)
# define const
# endif
# define signed
# define void int
# define volatile
# define __V_ char
# else
# define __V_ void
# endif
# else
# define __PROTO__(x) ()
# define __OTORP__(x) x
# define __PARAM__(n,o) o
# define __LINKAGE__
# define __V_ char
# define const
# define signed
# define void int
# define volatile
# endif
# if defined(__cplusplus) || defined(c_plusplus)
# define __VARARG__ ...
# else
# define __VARARG__
# endif
# if defined(__STDARG__)
# else
# endif
# if !defined(__INLINE__)
# if defined(__cplusplus)
# else
# endif
# endif
# endif
#endif
#if !defined(__LINKAGE__)
#endif
#line 151
# ifndef __STDC__
# ifndef creat
# endif
# if 1
# ifndef access
# endif
# ifndef ctime
# endif
# ifndef mkdir
# endif
# endif
# endif
# include <fcntl.h>
# if 1
# include <stdio.h>
# else
# include <time.h>
# endif
# ifndef __STDC__
# endif
# ifndef O_RDONLY
# define O_RDONLY 0
# endif
# ifndef S_IRUSR
# endif
# ifndef S_IWUSR
# endif
# ifndef S_IXUSR
# endif
# ifndef S_IRGRP
# endif
# ifndef S_IWGRP
# endif
# ifndef S_IXGRP
# endif
# ifndef S_IROTH
# endif
# ifndef S_IWOTH
# endif
# ifndef S_IXOTH
# endif
# ifndef __STDC__
# endif
# if 1
# endif
# endif
# if 1
# endif
int
replace __PARAM__((const char* newfile, const char* oldfile, int preserve), (newfile, oldfile, preserve)) __OTORP__(const char* newfile; const char* oldfile; int preserve;){
{
if (preserve)
return -1;
}
return -1;
if (preserve)
{
}
return preserve;
}
#line 13
#line 108
struct ppsymbol;
struct ppindex;
struct ppinstk
{
char* nextchr;
long* control;
char* buffer;
char* file;
char* prefix;
int buflen;
int line;
int vendor;
short fd;
short hide;
short flags;
char type;
};
struct pplist
{
char* value;
};
struct oplist
{
int op;
char* value;
};
struct pphide
{
unsigned long flags;
int level;
};
struct ppmacstk
{
int line;
};
struct ppmember
{
unsigned long offset;
unsigned long size;
};
struct counter
{
int candidate;
int function;
int macro;
int pplex;
int push;
int terminal;
int token;
};
struct pptuple
{
};
struct ppfileid
{
unsigned long st_dev;
unsigned long st_ino;
};
struct pathid
{
char* path;
};
#line 206
#line 217
#line 329
struct ppdirs
{
char* name;
unsigned char c; unsigned char index; unsigned char type; union { char* buffer; char* sp; struct ppdirs* subdir; } info; struct ppfileid id;
};
struct ppkeyword
{
char* name;
int value;
};
struct ppmacro
{
int arity;
char* value;
};
struct ppsymbol
{
int hash_header;
unsigned long flags;
};
#line 378
struct ppglobals
{
const char* version;
char* lineid;
char* outfile;
char* pass;
char* token;
char* outb;
char* outbuf;
char* outp;
char* oute;
unsigned long offset;
struct ppcontext* context; long state; long mode; long option; long test; struct { char* sp; long flags; } filedeps; struct ppdirs* firstdir; struct ppdirs* lastdir; int hide; int column; int pending; char* firstfile; char* lastfile; char* ignore; char* probe; char* filtab; char* prdtab; char* date; char* time; char* maps; long ro_state; long ro_mode; long ro_option; long ro_op[2]; struct pathid cdir; struct pathid hostdir; char* ppdefault; struct ppindex* firstindex; struct ppindex* lastindex; struct oplist* firstop; struct oplist* lastop; struct oplist* firsttx; struct oplist* lasttx; unsigned char arg_file; unsigned char arg_mode; unsigned char arg_style; unsigned char c; unsigned char hosted; unsigned char ignoresrc; unsigned char initialized; unsigned char standalone; unsigned char spare_1;
char* checkpoint; int constack; struct ppinstk* in; char* addp; char* args; char* addbuf; char* catbuf; char* hdrbuf; char* hidebuf; char* path; char* tmpbuf; char* valbuf; char* optflags; int lastout; char* include; char* prefix; struct ppmember* member; int hidden; int hiding; int level; struct { int input; int output; } pool; struct { long ro_state; long ro_mode; long ro_option; long ro_op[2]; int on; char* symtab; } reset; int truncate; struct ppmacstk* macp; char* maxmac; char* mactop; char* toknxt; long* control; long* maxcon; struct oplist* chop; struct ppfile* insert; struct ppfile* original; struct ppdirs* found; int vendor; char* dirtab; char* strtab; PPBUILTIN builtin; PPCOMMENT comment; PPINCREF incref; PPLINESYNC linesync; PPLINESYNC olinesync; PPMACREF macref; PPOPTARG optarg; PPPRAGMA pragma; struct counter counter; char funbuf[256];
};
extern __MANGLE__ char _pp_ctype[];
#line 16
#line 125
#line 683
struct ppcontext
{
struct ppcontext* context; long state; long mode; long option; long test; struct { char* sp; long flags; } filedeps; struct ppdirs* firstdir; struct ppdirs* lastdir; int hide; int column; int pending; char* firstfile; char* lastfile; char* ignore; char* probe; char* filtab; char* prdtab; char* date; char* time; char* maps; long ro_state; long ro_mode; long ro_option; long ro_op[2]; struct pathid cdir; struct pathid hostdir; char* ppdefault; struct ppindex* firstindex; struct ppindex* lastindex; struct oplist* firstop; struct oplist* lastop; struct oplist* firsttx; struct oplist* lasttx; unsigned char arg_file; unsigned char arg_mode; unsigned char arg_style; unsigned char c; unsigned char hosted; unsigned char ignoresrc; unsigned char initialized; unsigned char standalone; unsigned char spare_1;
};
struct ppfile
{
int hash_header;
int flags;
};
struct ppindex
{
unsigned long begin;
unsigned long end;
};
struct ppsymkey
{
int lex;
};
#line 729
# ifdef __STDC__
# include <stdlib.h>
# include <unistd.h>
# include <time.h>
# include <string.h>
# else
# define size_t int
# ifndef O_RDONLY
# endif
# endif
#line 802
#line 185
#line 249
#line 67
struct fsminit
{
int state;
int nextstate;
};
{
{ 0, { 023 }, ((0+28)+11), },
{ 0, { 002 }, (0), },
{ 0, { 001 }, (0+23), },
{ 0, { '.' }, (0+25), },
{ 0, { 021 }, (0+19), },
{ 0, { 'L' }, (0+20), },
{ 0, { 'd', 'e', 'f', 'i' }, (0+1), },
{ 0, { 'r', 's', 't', 'v' }, (0+1), },
{ 0, { 'w', 'N' }, (0+1), },
{ 0, { '"', '\'' }, ((0+28)+3), },
{ 0, { '/' }, (0+12), },
{ 0, { '\n' }, ((0+28)+7), },
{ 0, { ' ','\t','\f','\013' }, (0+27), },
{ (0+1), { 023 }, ((0+28)+6), },
{ (0+1), { 021, 001 }, (0+19), },
{ (0+1), { 'a' }, (0+2), },
{ (0+1), { 'e' }, (0+3), },
{ (0+1), { 'f' }, (0+4), },
{ (0+1), { 'h' }, (0+5), },
{ (0+1), { 'l' }, (0+6), },
{ (0+1), { 'n' }, (0+7), },
{ (0+1), { 'o' }, (0+8), },
{ (0+1), { 't' }, (0+9), },
{ (0+1), { 'x' }, (0+10), },
{ (0+1), { 'y' }, (0+11), },
{ (0+2), { 023 }, (((0+28)+12)), },
{ (0+2), { 021, 001 }, (0+19), },
{ (0+2), { '_','s','t','a' }, (0+2), },
{ (0+2), { 'r' }, (0+2), },
{ (0+3), { 023 }, (((0+28)+12)), },
{ (0+3), { 021, 001 }, (0+19), },
{ (0+3), { 't','u','r','n' }, (0+3), },
{ (0+4), { 023 }, (((0+28)+12)), },
{ (0+4), { 021, 001 }, (0+19), },
{ (0+5), { 023 }, (((0+28)+12)), },
{ (0+5), { 021, 001 }, (0+19), },
{ (0+5), { 'i','l','e' }, (0+5), },
{ (0+6), { 023 }, (((0+28)+12)), },
{ (0+6), { 021, 001 }, (0+19), },
{ (0+6), { 's','e' }, (0+6), },
{ (0+7), { 023 }, (((0+28)+12)), },
{ (0+7), { 021, 001 }, (0+19), },
{ (0+7), { 'l','i','n','e' }, (0+7), },
{ (0+8), { 023 }, (((0+28)+12)), },
{ (0+8), { 021, 001 }, (0+19), },
{ (0+8), { 'r','i','d','N' }, (0+8), },
{ (0+9), { 023 }, (((0+28)+12)), },
{ (0+9), { 021, 001 }, (0+19), },
{ (0+9), { 'a','t','i','c' }, (0+9), },
{ (0+10), { 023 }, (((0+28)+12)), },
{ (0+10), { 021, 001 }, (0+19), },
{ (0+10), { 't','e','r','n' }, (0+10), },
{ (0+11), { 023 }, (((0+28)+12)), },
{ (0+11), { 021, 001 }, (0+19), },
{ (0+11), { 'p','e','d','f' }, (0+11), },
{ (0+12), { 023 }, ((0+28)+0), },
{ (0+12), { '*' }, (0+13), },
{ (0+12), { '/' }, (0+16), },
{ (0+13), { 023 }, (0+13), },
{ (0+13), { '\n', 002 }, ((0+28)+1), },
{ (0+13), { '/' }, (0+15), },
{ (0+13), { '*' }, (0+14), },
{ (0+13), { '#', ';', ')' }, ((( (0+13))<<(7+1))|(((0+28)+8))), },
{ (0+14), { 023 }, (0+13), },
{ (0+14), { '\n', 002 }, ((0+28)+1), },
{ (0+14), { '#', ';', ')' }, ((( (0+13))<<(7+1))|(((0+28)+8))), },
{ (0+14), { '*' }, (0+14), },
{ (0+14), { '/' }, ((0+28)+1), },
{ (0+15), { 023 }, (0+13), },
{ (0+15), { '*', '\n', 002 }, ((0+28)+1), },
{ (0+15), { '/' }, (0+15), },
{ (0+16), { 023 }, (0+16), },
{ (0+16), { '\n', 002 }, ((0+28)+1), },
{ (0+16), { '/' }, (0+17), },
{ (0+16), { '*' }, (0+18), },
{ (0+17), { 023 }, (0+16), },
{ (0+17), { '*', '\n', 002 }, ((0+28)+1), },
{ (0+17), { '/' }, (0+17), },
{ (0+18), { 023 }, (0+16), },
{ (0+18), { '\n', 002 }, ((0+28)+1), },
{ (0+18), { '*' }, (0+18), },
{ (0+18), { '/' }, ((0+28)+1), },
{ (0+19), { 023 }, ((0+28)+6), },
{ (0+19), { 021, 001 }, (0+19), },
{ (0+25), { 023 }, ((0+28)+0), },
{ (0+25), { '.' }, (0+26), },
{ (0+25), { 001 }, (0+23), },
{ (0+26), { 023 }, (((( (0401+1))-0401)<<(7+1))|( ((0+28)+14))), },
{ (0+26), { '.' }, (((( (0401+29))-0401)<<(7+1))|( ((0+28)+13))), },
{ (0+20), { 023 }, ((0+28)+6), },
{ (0+20), { 021, 001 }, (0+19), },
{ (0+20), { '"', '\'' }, ((( (0+21))<<(7+1))|(((0+28)+8))), },
{ (0+21), { 023 }, (0+21), },
{ (0+21), { '"', '\'' }, ((0+28)+4), },
{ (0+21), { '\n', 002 }, ((0+28)+4), },
{ (0+21), { '\\' }, (0+22), },
{ (0+22), { 023 }, ((0+28)+5), },
{ (0+22), { '\n', 002 }, ((0+28)+4), },
{ (0+23), { 023 }, (((( (0401+1))-0401)<<(7+1))|( ((0+28)+14))), },
{ (0+23), { 021, 001, '.' }, (0+23), },
{ (0+23), { 'e', 'E' }, (0+24), },
{ (0+24), { 023 }, (((( (0401+1))-0401)<<(7+1))|( ((0+28)+14))), },
{ (0+24), { 021, 001, '.' }, (0+23), },
{ (0+24), { '+', '-' }, (0+23), },
{ (0+27), { 023 }, ((0+28)+15), },
{ (0+27), { ' ', '\t' }, (0+27), },
{ (0+27), { '\f', '\013' }, ((0+28)+10), },
#line 528
{ (-1), { 0 }, 0, }
};
void
register int c;
register int n;
register int i;
register short* rp;
switch (op)
{
case 4:
{
{
break;
}
{
switch (c)
{
case 023:
for (c = 0; c <= 255; c++)
rp[c] = n;
case 002:
continue;
case 021:
s = let;
break;
case 003:
s = hex;
break;
case 001:
s = dec;
break;
case 022:
s = oct;
break;
default:
rp[c] = n;
continue;
}
while (c = *s++)
rp[c] = n;
}
}
for (i = 0; i < (0+28); i++)
{
rp = _pp_fsmtab[i];
s = spl;
while (c = *s++)
{
}
for (c = 0; c <= 255; c++)
if (rp[c] == i)
rp[c] = 0;
}
#line 707
break;
#line 860
}
}
#line 24
#line 68
#line 41
typedef struct Key_s
{
const char* name;
int hit;
int val;
} Key_t;
typedef struct Proto_s
{
int brace;
int call;
int fd;
char* file;
long flags;
long options;
char* package;
int line;
int test;
char* tp;
int iz;
char* ib;
char* ip;
int oz;
char* ob;
char* op;
char* ox;
} Proto_t;
#line 171
{
{ "prototyped",sizeof( "prototyped")-1, 0x01, 1},
{ "noprototyped",sizeof( "noprototyped")-1, 0x01, 0},
{ "noticed",sizeof( "noticed")-1, 0x02, 1},
{ "nonoticed",sizeof( "nonoticed")-1, 0x02, 0},
};
{
{ "Copyright",sizeof( "Copyright")-1, 0x02, 1},
{ "COPYRIGHT",sizeof( "COPYRIGHT")-1, 0x02, 1},
{ "copyright",sizeof( "copyright")-1, 0x02, 1},
{ "Public Domain",sizeof( "Public Domain")-1, 0x02, 0},
{ "PUBLIC DOMAIN",sizeof( "PUBLIC DOMAIN")-1, 0x02, 0},
};
static char*
number __PARAM__((register char* p, register long n), (p, n)) __OTORP__(register char* p; register long n;){
register long d;
for (d = 1000000; d > 1; d /= 10)
if (n >= d) *p++ = '0' + (n / d) % 10;
*p++ = '0' + n % 10;
return p;
}
static int errors;
#line 224
static int
register const char* b;
for (b = s; *s; s++);
return s - b;
}
static int
sstrncmp __PARAM__((register const char* s, register const char* t, register int n), (s, t, n)) __OTORP__(register const char* s; register const char* t; register int n;){
register const char* e = s + n;
while (s < e)
{
if (*s != *t || !*s)
return *s - *t;
s++;
t++;
}
return 0;
}
static char*
strcopy __PARAM__((register char* s, register const char* t), (s, t)) __OTORP__(register char* s; register const char* t;){
while (*s++ = *t++);
return s - 1;
}
static void
proto_error __PARAM__((char* iob, int level, char* msg, char* arg), (iob, level, msg, arg)) __OTORP__(char* iob; int level; char* msg; char* arg;){
register char* p;
if (iob)
{
{
{
*p++ = '"';
*p++ = '"';
*p++ = ',';
*p++ = ' ';
}
p = strcopy(p, "line ");
}
}
else
{
arg = 0;
}
if (*(p - 1) != ' ')
{
*p++ = ':';
*p++ = ' ';
}
if (level == 1)
p = strcopy(p, "warning: ");
if (arg)
{
*p++ = ' ';
}
*p++ = '\n';
if (level >= 3)
if (level >= 2)
errors++;
}
static char*
memcopy __PARAM__((register char* s, register char* t, int n), (s, t, n)) __OTORP__(register char* s; register char* t; int n;){
register char* e = t + n;
while (t < e) *s++ = *t++;
return s;
}
#line 92
typedef struct Buffer_s
{
char* buf;
char* nxt;
char* end;
int siz;
} Buffer_t;
typedef struct Item_s
{
char* data;
int size;
int quote;
} Item_t;
typedef struct Id_s
{
} Id_t;
{
{ "author",sizeof( "author")-1,0},
{ "class",sizeof( "class")-1,0},
{ "company",sizeof( "company")-1,0},
{ "component",sizeof( "component")-1,0},
{ "contributor",sizeof( "contributor")-1,0},
{ "corporation",sizeof( "corporation")-1,0},
{ "domain",sizeof( "domain")-1,0},
{ "id",sizeof( "id")-1,0},
{ "incorporation",sizeof( "incorporation")-1,0},
{ "license",sizeof( "license")-1,0},
{ "location",sizeof( "location")-1,0},
{ "name",sizeof( "name")-1,0},
{ "notice",sizeof( "notice")-1,0},
{ "organization",sizeof( "organization")-1,0},
{ "package",sizeof( "package")-1,0},
{ "parent",sizeof( "parent")-1,0},
{ "query",sizeof( "query")-1,0},
{ "since",sizeof( "since")-1,0},
{ "source",sizeof( "source")-1,0},
{ "start",sizeof( "start")-1,0},
{ "type",sizeof( "type")-1,0},
{ "url",sizeof( "url")-1,0},
{ "urlmd5",sizeof( "urlmd5")-1,0},
{ "version",sizeof( "version")-1,0},
{0}
};
{
{ "none",sizeof( "none")-1, 0},
{ "inline",sizeof( "inline")-1, 12},
{ "test",sizeof( "test")-1, 2},
{ "verbose",sizeof( "verbose")-1, 3},
{ "usage",sizeof( "usage")-1, 4},
{ "open",sizeof( "open")-1, 5},
{ "cpl",sizeof( "cpl")-1, 5},
{ "epl",sizeof( "epl")-1, 5},
{ "bsd",sizeof( "bsd")-1, 5},
{ "zlib",sizeof( "zlib")-1, 5},
{ "mit",sizeof( "mit")-1, 5},
{ "gpl",sizeof( "gpl")-1, 11},
{ "special",sizeof( "special")-1, 12},
{ "nonexclusive",sizeof( "nonexclusive")-1, 12},
{ "noncommercial",sizeof( "noncommercial")-1, 12},
{ "proprietary",sizeof( "proprietary")-1, 15},
{0}
};
typedef struct Notice_s
{
int test;
int type;
int verbose;
int ids;
} Notice_t;
static int
lookup __PARAM__((register const Item_t* item, const char* name, int size), (item, name, size)) __OTORP__(register const Item_t* item; const char* name; int size;){
register int c;
register int i;
c = name[0];
return i;
return -1;
}
static void
copy __PARAM__((register Buffer_t* b, register char* s, int n), (b, s, n)) __OTORP__(register Buffer_t* b; register char* s; int n;){
if (n < 0)
n = sstrlen( s);
while (n--)
}
#line 225
static void
comment __PARAM__((Notice_t* notice, register Buffer_t* b, register char* s, register int n, int u), (notice, b, s, n, u)) __OTORP__(Notice_t* notice; register Buffer_t* b; register char* s; register int n; int u;){
register int i;
register int m;
register int x;
int cc;
if (!s)
{
if (n)
{
((( b)->nxt<( b)->end)?(*( b)->nxt++=( notice->cc[n > 0 ? 0 : 1])):(( notice->cc[n > 0 ? 0 : 1]),(-1)));
for (i = 0; i < 70; i++)
((( b)->nxt<( b)->end)?(*( b)->nxt++=( notice->cc[n > 0 ? 1 : 2])):(( notice->cc[n > 0 ? 1 : 2]),(-1)));
}
else
s = "";
}
if (s)
{
if (n > 70)
n = 70;
m = (u < 0) ? 1 : (70 - n) / 2;
if ((x = 70 - m - n) < 0)
n--;
while (m-- > 0)
while (n-- > 0)
{
i = *s++;
if (u > 0 && i >= 'a' && i <= 'z')
i = i - 'a' + 'A';
}
while (x-- > 0)
}
}
static void
expand __PARAM__((Notice_t* notice, register Buffer_t* b, const Item_t* item), (notice, b, item)) __OTORP__(Notice_t* notice; register Buffer_t* b; const Item_t* item;){
register char* t;
register char* e;
register int q;
register char* x;
register char* z;
register int c;
int m;
int i;
int k;
{
i = 0;
while (t < e)
{
if (*t == '$' && t < (e + 2) && *(t + 1) == '{')
{
k = m = 0;
x = t += 2;
while (t < e && (c = *t++) != '}')
if (c == '.')
x = t;
else if (c == '-')
{
k = 1;
break;
}
else if (c == '/')
{
m = 1;
break;
}
{
while (x < z)
{
c = *x++;
if (!m || c >= '0' && c <= '9')
}
}
else if (k)
{
k = 0;
i++;
}
if (k || m)
{
k = 1;
while (t < e)
if ((c = *t++) == '{')
k++;
else if (c == '}' && !--k)
break;
}
}
else if (q > 0 && *t == '\\' && (*(t + 1) == q || *(t + 1) == '\\'))
t++;
else if (*t == '}' && i)
{
t++;
i--;
}
else
}
}
}
static void
copyright __PARAM__((Notice_t* notice, register Buffer_t* b), (notice, b)) __OTORP__(Notice_t* notice; register Buffer_t* b;){
register char* x;
register char* t;
{
}
{
}
t = x;
{
}
copy(b, t, 4);
{
}
{
{
}
}
{
}
}
typedef struct Stack_s
{
char* info;
char* file;
int line;
int size;
} Stack_t;
static int
push __PARAM__((Stack_t* sp, char* file, char* parent, char* info, int size, Buffer_t* buf), (sp, file, parent, info, size, buf)) __OTORP__(Stack_t* sp; char* file; char* parent; char* info; int size; Buffer_t* buf;){
char* s;
char* t;
int i;
int n;
if (size <= 8)
{
return -1;
}
{
n = s - parent + 1;
{
}
}
{
for (s = path; *s; s++)
if (s[0] == '/' && s[1] == 'a' && s[2] == 'r' && s[3] == 'c' && s[4] == 'h' && s[5] == '/')
{
t = s;
for (s += 6; *s && *s != '/'; s++);
while (*t++ = *s++);
}
if (i < 0)
{
return -1;
}
}
close(i);
if (n < 0)
{
return -1;
}
info[n++] = 0;
return 0;
}
int
astlicense __PARAM__((char* p, int size, char* file, char* options, int cc1, int cc2, int cc3), (p, size, file, options, cc1, cc2, cc3)) __OTORP__(char* p; int size; char* file; char* options; int cc1; int cc2; int cc3;){
register char* s;
register char* v;
register char* x;
register int c;
int i;
int h;
int k;
int n;
int q;
int contributor;
int first;
int level;
int quote;
char* data;
level = 0;
level = -1;
if (options)
{
level++;
}
{
return -1;
}
if (level < 0)
return 0;
contributor = i = k = 0;
for (;;)
{
first = 1;
while (c = *s)
{
while (c == ' ' || c == '\t' || c == '\n' && ++input[level].line || c == '\r' || c == ',' || c == ';' || c == ')')
c = *++s;
if (!c)
break;
if (c == '#')
{
while (*++s && *s != '\n');
if (*s)
s++;
continue;
}
if (c == '.')
{
while ((c = *++s) && (c == ' ' || c == '\t'));
file = s;
while (c && c != ' ' && c != '\t' && c != '\r' && c != '\n')
c = *++s;
*s = 0;
while (c && c != '\n')
c = *++s;
if (*file)
{
if (++level >= (sizeof(input) / sizeof(input[0])) || push(&input[level], file, input[level-1].file, data, &info[sizeof(info)] - data, &buf))
return -1;
}
continue;
}
if (c == '\n')
{
s++;
continue;
}
if (c == '[')
c = *++s;
x = s;
n = 0;
while (c && c != '+' && c != '=' && c != ']' && c != ')' && c != ',' && c != ' ' && c != '\t' && c != '\n' && c != '\r')
c = *++s;
n = s - x;
if (c == '+' || c == ']')
c = *++s;
quote = 0;
if (c == '=' || first)
{
if (c == '=')
{
q = ((c = *++s) == '"' || c == '\'') ? *s++ : 0;
if (c == '(')
{
s++;
if (h == 9)
contributor = 0;
else if (h == 4)
contributor = 1;
else
{
q = 1;
i = 0;
for (;;)
{
switch (*s++)
{
case 0:
s--;
break;
case '(':
if (!i)
q++;
continue;
case ')':
if (!i && !--q)
break;
continue;
case '"':
case '\'':
if (!i)
i = *(s - 1);
else if (i == *(s - 1))
i = 0;
continue;
case '\\':
if (*s == i && i == '"')
i++;
continue;
case '\n':
continue;
default:
continue;
}
break;
}
}
continue;
}
v = s;
while ((c = *s) && (q == '"' && (c == '\\' && (*(s + 1) == '"' || *(s + 1) == '\\') && s++ && (quote = q)) || q && c != q || !q && c != ' ' && c != '\t' && c != '\n' && c != '\r' && c != ',' && c != ';'))
{
if (c == '\n')
s++;
}
}
else
{
h = 20;
v = x;
}
if (c == '\n')
if (contributor)
{
break;
if (i < 64)
{
}
}
else if (h == 16)
{
if ((s - v) == 3 && v[0] == 'a' && v[1] == 'l' && v[2] == 'l')
{
{
for (h = 0;; h++)
{
h = 0;
break;
}
break;
if (h)
if (h)
}
}
else
{
{
}
else
}
return (*(( &buf)->nxt>=( &buf)->end?(( &buf)->nxt=( &buf)->end-1):( &buf)->nxt)=0,( &buf)->nxt-( &buf)->buf);
}
else
{
if (h == 20)
{
case 0:
return 0;
case 2:
h = -1;
break;
case 3:
h = -1;
break;
case 4:
h = -1;
break;
case -1:
c = 12;
default:
h = -1;
break;
}
if (h >= 0)
{
k = 1;
}
}
}
else
{
{
*--x = 0;
do *--x = ("0123456789")[n % 10]; while (n /= 10);
}
return -1;
}
if (*s)
s++;
first = 0;
}
if (!level--)
break;
}
if (!k)
return 0;
return 0;
{
{
comment(¬ice, &buf, (( &tmp)->buf), (( &tmp)->siz=( &tmp)->nxt-( &tmp)->buf,( &tmp)->nxt=( &tmp)->buf,( &tmp)->siz), 0);
}
{
comment(¬ice, &buf, (( &tmp)->buf), (( &tmp)->siz=( &tmp)->nxt-( &tmp)->buf,( &tmp)->nxt=( &tmp)->buf,( &tmp)->siz), 0);
}
{
comment(¬ice, &buf, (( &tmp)->buf), (( &tmp)->siz=( &tmp)->nxt-( &tmp)->buf,( &tmp)->nxt=( &tmp)->buf,( &tmp)->siz), 0);
else
{
}
comment(¬ice, &buf, (( &tmp)->buf), (( &tmp)->siz=( &tmp)->nxt-( &tmp)->buf,( &tmp)->nxt=( &tmp)->buf,( &tmp)->siz), 0);
{
{
}
{
{
}
}
comment(¬ice, &buf, (( &tmp)->buf), (( &tmp)->siz=( &tmp)->nxt-( &tmp)->buf,( &tmp)->nxt=( &tmp)->buf,( &tmp)->siz), 0);
}
comment( ¬ice, &buf, "A copy of the License is available at",sizeof( "A copy of the License is available at")-1, 0);
{
comment(¬ice, &buf, (( &tmp)->buf), (( &tmp)->siz=( &tmp)->nxt-( &tmp)->buf,( &tmp)->nxt=( &tmp)->buf,( &tmp)->siz), 0);
{
comment(¬ice, &buf, (( &tmp)->buf), (( &tmp)->siz=( &tmp)->nxt-( &tmp)->buf,( &tmp)->nxt=( &tmp)->buf,( &tmp)->siz), 0);
}
}
comment( ¬ice, &buf, "http://www.eclipse.org/org/documents/epl-v10.html",sizeof( "http://www.eclipse.org/org/documents/epl-v10.html")-1, 0);
else
comment( ¬ice, &buf, "http://www.opensource.org/licenses/cpl",sizeof( "http://www.opensource.org/licenses/cpl")-1, 0);
}
{
comment(¬ice, &buf, (( &tmp)->buf), (( &tmp)->siz=( &tmp)->nxt-( &tmp)->buf,( &tmp)->nxt=( &tmp)->buf,( &tmp)->siz), 0);
{
{
}
comment(¬ice, &buf, (( &tmp)->buf), (( &tmp)->siz=( &tmp)->nxt-( &tmp)->buf,( &tmp)->nxt=( &tmp)->buf,( &tmp)->siz), 0);
}
{
{
}
comment(¬ice, &buf, (( &tmp)->buf), (( &tmp)->siz=( &tmp)->nxt-( &tmp)->buf,( &tmp)->nxt=( &tmp)->buf,( &tmp)->siz), 0);
}
else
i = -1;
{
comment( ¬ice, &buf, "A copy of the Source Code Agreement is available",sizeof( "A copy of the Source Code Agreement is available")-1, 0);
if (i >= 0)
comment(¬ice, &buf, (( &tmp)->buf), (( &tmp)->siz=( &tmp)->nxt-( &tmp)->buf,( &tmp)->nxt=( &tmp)->buf,( &tmp)->siz), 0);
comment(¬ice, &buf, (( &tmp)->buf), (( &tmp)->siz=( &tmp)->nxt-( &tmp)->buf,( &tmp)->nxt=( &tmp)->buf,( &tmp)->siz), 0);
{
comment(¬ice, &buf, (( &tmp)->buf), (( &tmp)->siz=( &tmp)->nxt-( &tmp)->buf,( &tmp)->nxt=( &tmp)->buf,( &tmp)->siz), 0);
}
}
comment( ¬ice, &buf, "If you have copied or used this software without agreeing",sizeof( "If you have copied or used this software without agreeing")-1, 0);
comment( ¬ice, &buf, "to the terms of the license you are infringing on",sizeof( "to the terms of the license you are infringing on")-1, 0);
comment( ¬ice, &buf, "the license and copyright and are violating",sizeof( "the license and copyright and are violating")-1, 0);
if (i >= 0)
if (n >= (70-32))
comment(¬ice, &buf, (( &tmp)->buf), (( &tmp)->siz=( &tmp)->nxt-( &tmp)->buf,( &tmp)->nxt=( &tmp)->buf,( &tmp)->siz), 0);
else
comment(¬ice, &buf, (( &tmp)->buf), (( &tmp)->siz=( &tmp)->nxt-( &tmp)->buf,( &tmp)->nxt=( &tmp)->buf,( &tmp)->siz), 0);
}
{
comment( ¬ice, &buf, "This is free software; you can redistribute it and/or",sizeof( "This is free software; you can redistribute it and/or")-1, 0);
comment( ¬ice, &buf, "modify it under the terms of the GNU General Public License",sizeof( "modify it under the terms of the GNU General Public License")-1, 0);
comment( ¬ice, &buf, "as published by the Free Software Foundation;",sizeof( "as published by the Free Software Foundation;")-1, 0);
comment( ¬ice, &buf, "either version 2, or (at your option) any later version.",sizeof( "either version 2, or (at your option) any later version.")-1, 0);
comment( ¬ice, &buf, "This software is distributed in the hope that it",sizeof( "This software is distributed in the hope that it")-1, 0);
comment( ¬ice, &buf, "will be useful, but WITHOUT ANY WARRANTY;",sizeof( "will be useful, but WITHOUT ANY WARRANTY;")-1, 0);
comment( ¬ice, &buf, "without even the implied warranty of MERCHANTABILITY",sizeof( "without even the implied warranty of MERCHANTABILITY")-1, 0);
comment( ¬ice, &buf, "or FITNESS FOR A PARTICULAR PURPOSE.",sizeof( "or FITNESS FOR A PARTICULAR PURPOSE.")-1, 0);
comment( ¬ice, &buf, "See the GNU General Public License for more details.",sizeof( "See the GNU General Public License for more details.")-1, 0);
comment( ¬ice, &buf, "You should have received a copy of the",sizeof( "You should have received a copy of the")-1, 0);
comment( ¬ice, &buf, "along with this software (see the file COPYING.)",sizeof( "along with this software (see the file COPYING.)")-1, 0);
comment( ¬ice, &buf, "If not, a copy is available at",sizeof( "If not, a copy is available at")-1, 0);
comment( ¬ice, &buf, "http://www.gnu.org/copyleft/gpl.html",sizeof( "http://www.gnu.org/copyleft/gpl.html")-1, 0);
}
{
comment( ¬ice, &buf, "Redistribution and use in source and binary forms, with or",sizeof( "Redistribution and use in source and binary forms, with or")-1, -1);
comment( ¬ice, &buf, "without modification, are permitted provided that the following",sizeof( "without modification, are permitted provided that the following")-1, -1);
comment( ¬ice, &buf, " 1. Redistributions of source code must retain the above",sizeof( " 1. Redistributions of source code must retain the above")-1, -1);
comment( ¬ice, &buf, " copyright notice, this list of conditions and the",sizeof( " copyright notice, this list of conditions and the")-1, -1);
comment( ¬ice, &buf, " 2. Redistributions in binary form must reproduce the above",sizeof( " 2. Redistributions in binary form must reproduce the above")-1, -1);
comment( ¬ice, &buf, " copyright notice, this list of conditions and the",sizeof( " copyright notice, this list of conditions and the")-1, -1);
comment( ¬ice, &buf, " following disclaimer in the documentation and/or other",sizeof( " following disclaimer in the documentation and/or other")-1, -1);
comment( ¬ice, &buf, " materials provided with the distribution.",sizeof( " materials provided with the distribution.")-1, -1);
else
comment(¬ice, &buf, (( &tmp)->buf), (( &tmp)->siz=( &tmp)->nxt-( &tmp)->buf,( &tmp)->nxt=( &tmp)->buf,( &tmp)->siz), -1);
comment( ¬ice, &buf, " names of its contributors may be used to endorse or",sizeof( " names of its contributors may be used to endorse or")-1, -1);
comment( ¬ice, &buf, " promote products derived from this software without",sizeof( " promote products derived from this software without")-1, -1);
comment( ¬ice, &buf, " specific prior written permission.",sizeof( " specific prior written permission.")-1, -1);
comment( ¬ice, &buf, "THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND",sizeof( "THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND")-1, -1);
comment( ¬ice, &buf, "CONTRIBUTORS \"AS IS\" AND ANY EXPRESS OR IMPLIED WARRANTIES,",sizeof( "CONTRIBUTORS \"AS IS\" AND ANY EXPRESS OR IMPLIED WARRANTIES,")-1, -1);
comment( ¬ice, &buf, "INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF",sizeof( "INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF")-1, -1);
comment( ¬ice, &buf, "MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE",sizeof( "MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE")-1, -1);
comment( ¬ice, &buf, "DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS",sizeof( "DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS")-1, -1);
comment( ¬ice, &buf, "BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,",sizeof( "BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,")-1, -1);
comment( ¬ice, &buf, "EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED",sizeof( "EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED")-1, -1);
comment( ¬ice, &buf, "TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,",sizeof( "TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,")-1, -1);
comment( ¬ice, &buf, "DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON",sizeof( "DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON")-1, -1);
comment( ¬ice, &buf, "ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,",sizeof( "ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,")-1, -1);
comment( ¬ice, &buf, "OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY",sizeof( "OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY")-1, -1);
comment( ¬ice, &buf, "OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE",sizeof( "OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE")-1, -1);
comment( ¬ice, &buf, "POSSIBILITY OF SUCH DAMAGE.",sizeof( "POSSIBILITY OF SUCH DAMAGE.")-1, -1);
}
{
comment( ¬ice, &buf, "This software is provided 'as-is', without any express or implied",sizeof( "This software is provided 'as-is', without any express or implied")-1, -1);
comment( ¬ice, &buf, "warranty. In no event will the authors be held liable for any",sizeof( "warranty. In no event will the authors be held liable for any")-1, -1);
comment( ¬ice, &buf, "damages arising from the use of this software.",sizeof( "damages arising from the use of this software.")-1, -1);
comment( ¬ice, &buf, "Permission is granted to anyone to use this software for any",sizeof( "Permission is granted to anyone to use this software for any")-1, -1);
comment( ¬ice, &buf, "purpose, including commercial applications, and to alter it and",sizeof( "purpose, including commercial applications, and to alter it and")-1, -1);
comment( ¬ice, &buf, "redistribute it freely, subject to the following restrictions:",sizeof( "redistribute it freely, subject to the following restrictions:")-1, -1);
comment( ¬ice, &buf, " 1. The origin of this software must not be misrepresented;",sizeof( " 1. The origin of this software must not be misrepresented;")-1, -1);
comment( ¬ice, &buf, " you must not claim that you wrote the original software. If",sizeof( " you must not claim that you wrote the original software. If")-1, -1);
comment( ¬ice, &buf, " you use this software in a product, an acknowledgment in the",sizeof( " you use this software in a product, an acknowledgment in the")-1, -1);
comment( ¬ice, &buf, " product documentation would be appreciated but is not",sizeof( " product documentation would be appreciated but is not")-1, -1);
comment( ¬ice, &buf, " 2. Altered source versions must be plainly marked as such,",sizeof( " 2. Altered source versions must be plainly marked as such,")-1, -1);
comment( ¬ice, &buf, " and must not be misrepresented as being the original",sizeof( " and must not be misrepresented as being the original")-1, -1);
comment( ¬ice, &buf, " 3. This notice may not be removed or altered from any source",sizeof( " 3. This notice may not be removed or altered from any source")-1, -1);
}
{
comment( ¬ice, &buf, "Permission is hereby granted, free of charge, to any person",sizeof( "Permission is hereby granted, free of charge, to any person")-1, 0);
comment( ¬ice, &buf, "obtaining a copy of this software and associated",sizeof( "obtaining a copy of this software and associated")-1, 0);
comment( ¬ice, &buf, "documentation files (the \"Software\"), to deal in the",sizeof( "documentation files (the \"Software\"), to deal in the")-1, 0);
comment( ¬ice, &buf, "Software without restriction, including without limitation",sizeof( "Software without restriction, including without limitation")-1, 0);
comment( ¬ice, &buf, "the rights to use, copy, modify, merge, publish, distribute,",sizeof( "the rights to use, copy, modify, merge, publish, distribute,")-1, 0);
comment( ¬ice, &buf, "sublicense, and/or sell copies of the Software, and to",sizeof( "sublicense, and/or sell copies of the Software, and to")-1, 0);
comment( ¬ice, &buf, "permit persons to whom the Software is furnished to do so,",sizeof( "permit persons to whom the Software is furnished to do so,")-1, 0);
comment( ¬ice, &buf, "subject to the following conditions:",sizeof( "subject to the following conditions:")-1, 0);
comment( ¬ice, &buf, "The above copyright notice and this permission notice shall",sizeof( "The above copyright notice and this permission notice shall")-1, 0);
comment( ¬ice, &buf, "be included in all copies or substantial portions of the",sizeof( "be included in all copies or substantial portions of the")-1, 0);
comment( ¬ice, &buf, "THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY",sizeof( "THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY")-1, 0);
comment( ¬ice, &buf, "KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE",sizeof( "KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE")-1, 0);
comment( ¬ice, &buf, "WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR",sizeof( "WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR")-1, 0);
comment( ¬ice, &buf, "PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS",sizeof( "PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS")-1, 0);
comment( ¬ice, &buf, "OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR",sizeof( "OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR")-1, 0);
comment( ¬ice, &buf, "OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR",sizeof( "OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR")-1, 0);
comment( ¬ice, &buf, "OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE",sizeof( "OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE")-1, 0);
comment( ¬ice, &buf, "SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.",sizeof( "SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.")-1, 0);
}
else
{
{
{
}
else
i = -1;
comment(¬ice, &buf, (( &tmp)->buf), (( &tmp)->siz=( &tmp)->nxt-( &tmp)->buf,( &tmp)->nxt=( &tmp)->buf,( &tmp)->siz), 1);
{
if (i >= 0)
comment(¬ice, &buf, (( &tmp)->buf), (( &tmp)->siz=( &tmp)->nxt-( &tmp)->buf,( &tmp)->nxt=( &tmp)->buf,( &tmp)->siz), 1);
{
}
{
comment(¬ice, &buf, (( &tmp)->buf), (( &tmp)->siz=( &tmp)->nxt-( &tmp)->buf,( &tmp)->nxt=( &tmp)->buf,( &tmp)->siz), 1);
}
{
comment(¬ice, &buf, (( &tmp)->buf), (( &tmp)->siz=( &tmp)->nxt-( &tmp)->buf,( &tmp)->nxt=( &tmp)->buf,( &tmp)->siz), 1);
}
}
else
{
if (i >= 0)
comment(¬ice, &buf, (( &tmp)->buf), (( &tmp)->siz=( &tmp)->nxt-( &tmp)->buf,( &tmp)->nxt=( &tmp)->buf,( &tmp)->siz), 1);
{
}
comment(¬ice, &buf, (( &tmp)->buf), (( &tmp)->siz=( &tmp)->nxt-( &tmp)->buf,( &tmp)->nxt=( &tmp)->buf,( &tmp)->siz), 1);
comment( ¬ice, &buf, "and is not to be disclosed or used except in",sizeof( "and is not to be disclosed or used except in")-1, 1);
comment( ¬ice, &buf, "accordance with applicable agreements",sizeof( "accordance with applicable agreements")-1, 1);
}
}
{
comment( ¬ice, &buf, "For nonexclusive individual use",sizeof( "For nonexclusive individual use")-1, 1);
}
{
}
{
comment( ¬ice, &buf, "Unpublished & Not for Publication",sizeof( "Unpublished & Not for Publication")-1, 0);
}
{
{
if ((notice.item[15].size + (notice.item[5].data ? (notice.item[5].size + notice.item[8].size) : notice.item[2].size)) >= ((70-32) - 6))
comment(¬ice, &buf, (( &tmp)->buf), (( &tmp)->siz=( &tmp)->nxt-( &tmp)->buf,( &tmp)->nxt=( &tmp)->buf,( &tmp)->siz), 0);
else
{
}
{
{
}
}
}
comment(¬ice, &buf, (( &tmp)->buf), (( &tmp)->siz=( &tmp)->nxt-( &tmp)->buf,( &tmp)->nxt=( &tmp)->buf,( &tmp)->siz), 0);
comment( ¬ice, &buf, "under the terms and conditions of the license in",sizeof( "under the terms and conditions of the license in")-1, 0);
comment(¬ice, &buf, (( &tmp)->buf), (( &tmp)->siz=( &tmp)->nxt-( &tmp)->buf,( &tmp)->nxt=( &tmp)->buf,( &tmp)->siz), 0);
{
comment(¬ice, &buf, (( &tmp)->buf), (( &tmp)->siz=( &tmp)->nxt-( &tmp)->buf,( &tmp)->nxt=( &tmp)->buf,( &tmp)->siz), 0);
}
}
{
comment( ¬ice, &buf, "The copyright notice above does not evidence any",sizeof( "The copyright notice above does not evidence any")-1, 0);
comment( ¬ice, &buf, "actual or intended publication of such source code",sizeof( "actual or intended publication of such source code")-1, 0);
}
}
{
if (*v == '\n')
v++;
do
{
{
h = 0;
}
else
h = -1;
comment(¬ice, &buf, (( &tmp)->buf), (( &tmp)->siz=( &tmp)->nxt-( &tmp)->buf,( &tmp)->nxt=( &tmp)->buf,( &tmp)->siz), h);
} while (v++ < x);
}
{
comment(¬ice, &buf, (( &tmp)->buf), (( &tmp)->siz=( &tmp)->nxt-( &tmp)->buf,( &tmp)->nxt=( &tmp)->buf,( &tmp)->siz), 0);
{
}
comment(¬ice, &buf, (( &tmp)->buf), (( &tmp)->siz=( &tmp)->nxt-( &tmp)->buf,( &tmp)->nxt=( &tmp)->buf,( &tmp)->siz), 0);
{
comment(¬ice, &buf, (( &tmp)->buf), (( &tmp)->siz=( &tmp)->nxt-( &tmp)->buf,( &tmp)->nxt=( &tmp)->buf,( &tmp)->siz), 0);
}
}
}
{
q = (x - v) == 1 && (*v == '*' || *v == '-');
for (;;)
{
if (!q)
{
while (v < x && (*v == ' ' || *v == '\t' || *v == '\r' || *v == '\n' || *v == ',' || *v == '+'))
v++;
if (v >= x)
break;
while (v < x && *v != ',' && *v != '+' && *v++ != '>');
}
h = 0;
if (q || item.size == notice.id[i].name.size && !sstrncmp( item.data, notice.id[i].name.data, item.size))
{
h = 1;
{
}
else
{
if (k < 0)
{
}
k = 1;
comment(¬ice, &buf, (( &tmp)->buf), (( &tmp)->siz=( &tmp)->nxt-( &tmp)->buf,( &tmp)->nxt=( &tmp)->buf,( &tmp)->siz), 0);
}
if (!q)
break;
}
if (q)
break;
if (!h)
{
{
}
else
{
if (k < 0)
{
}
k = 1;
comment(¬ice, &buf, (( &tmp)->buf), (( &tmp)->siz=( &tmp)->nxt-( &tmp)->buf,( &tmp)->nxt=( &tmp)->buf,( &tmp)->siz), 0);
}
}
}
if (k > 0)
}
{
{
}
}
else
return (*(( &buf)->nxt>=( &buf)->end?(( &buf)->nxt=( &buf)->end-1):( &buf)->nxt)=0,( &buf)->nxt-( &buf)->buf);
}
#line 348
static char*
linesync __PARAM__((register Proto_t* proto, register char* p, register long n), (proto, p, n)) __OTORP__(register Proto_t* proto; register char* p; register long n;){
{
p = strcopy(p, "\n#line ");
p = number(p, n);
*p++ = '\n';
}
return p;
}
static char*
init __PARAM__((Proto_t* proto, char* op, int flags), (proto, op, flags)) __OTORP__(Proto_t* proto; char* op; int flags;){
register char* s;
{
\n\
#if !defined(__PROTO__)\n\
# if defined(__STDC__) || defined(__cplusplus) || defined(_proto) || defined(c_plusplus)\n\
# if defined(__cplusplus)\n\
# define __LINKAGE__ \"C\"\n\
# else\n\
# define __LINKAGE__\n\
# endif\n\
# define __STDARG__\n\
# define __PROTO__(x) x\n\
# define __OTORP__(x)\n\
# define __PARAM__(n,o) n\n\
# if !defined(__STDC__) && !defined(__cplusplus)\n\
# if !defined(c_plusplus)\n\
# define const\n\
# endif\n\
# define signed\n\
# define void int\n\
# define volatile\n\
# define __V_ char\n\
# else\n\
# define __V_ void\n\
# endif\n\
# else\n\
# define __PROTO__(x) ()\n\
# define __OTORP__(x) x\n\
# define __PARAM__(n,o) o\n\
# define __LINKAGE__\n\
# define __V_ char\n\
# define const\n\
# define signed\n\
# define void int\n\
# define volatile\n\
# endif\n\
# define __MANGLE__ __LINKAGE__\n\
# if defined(__cplusplus) || defined(c_plusplus)\n\
# define __VARARG__ ...\n\
# else\n\
# define __VARARG__\n\
# endif\n\
# if defined(__STDARG__)\n\
# define __VA_START__(p,a) va_start(p,a)\n\
# else\n\
# define __VA_START__(p,a) va_start(p)\n\
# endif\n\
# if !defined(__INLINE__)\n\
# if defined(__cplusplus)\n\
# define __INLINE__ extern __MANGLE__ inline\n\
# else\n\
# if defined(_WIN32) && !defined(__GNUC__)\n\
# define __INLINE__ __inline\n\
# endif\n\
# endif\n\
# endif\n\
#endif\n\
#if !defined(__LINKAGE__)\n\
#define __LINKAGE__ /* 2004-08-11 transition */\n\
#endif\n\
");
}
else
\n\
#if !defined(__PROTO__)\n\
#include <prototyped.h>\n\
#endif\n\
#if !defined(__LINKAGE__)\n\
#define __LINKAGE__ /* 2004-08-11 transition */\n\
#endif\n\
");
{
s = "\
#ifndef __MANGLE_%_DATA__\n\
# ifdef _BLD_%\n\
# ifdef __EXPORT__\n\
# define __MANGLE_%_DATA__ __MANGLE__ __EXPORT__\n\
# else\n\
# define __MANGLE_%_DATA__ __MANGLE__\n\
# endif\n\
# define __MANGLE_%_FUNC__ __MANGLE__\n\
# else\n\
# ifdef __IMPORT__\n\
# define __MANGLE_%_DATA__ __MANGLE__ __IMPORT__\n\
# else\n\
# define __MANGLE_%_DATA__ __MANGLE__\n\
# endif\n\
# define __MANGLE_%_FUNC__ __MANGLE__\n\
# endif\n\
#endif\n\
";
for (;;)
{
switch (*op++ = *s++)
{
case 0:
op--;
break;
case '%':
continue;
default:
continue;
}
break;
}
}
return op;
}
#line 422
static char*
while (*s == ' ' || *s == '\t' || *s == '\n')
s++;
return s;
}
#line 439
static int
switch (*(s = nns(s)))
{
case 'e':
case 'i':
dir <<= 2;
switch (*++s)
{
case 'f':
dir |= 01;
break;
case 'l':
dir |= 02;
break;
case 'n':
dir |= 03;
break;
}
break;
}
return dir;
}
static int
lex __PARAM__((register Proto_t* proto, register long flags), (proto, flags)) __OTORP__(register Proto_t* proto; register long flags;){
register char* ip;
register char* op;
register int c;
register int state;
register short* rp;
char* m;
char* e;
char* t;
char* bp;
char* v;
char* im;
char* ko;
char* aom;
int n;
int line;
int quot;
int brack;
int sub;
int x;
int vc;
char* ie = 0;
char* om = 0;
char* aim = 0;
char* aie = 0;
char* func = 0;
int call = 0;
int dir = 0;
int group = 0;
int last = 0;
int paren = 0;
char* qe = 0;
int qn = 0;
int args = 0;
state = 0;
do
{
;
} while (state > 0);
{
do switch( n) { default : memcopy( op, ip, n); op += n; ip += n; break; case 7 : * op++ = * ip++; case 6 : * op++ = * ip++; case 5 : * op++ = * ip++; case 4 : * op++ = * ip++; case 3 : * op++ = * ip++; case 2 : * op++ = * ip++; case 1 : * op++ = * ip++; case 0 : break; } while (0);
ip++;
}
{
case ((0+28)+11):
{
case '+':
case '-':
case '*':
case '&':
(*op++=( ' '));
break;
}
(*op++=( c));
break;
case ((0+28)+0):
(ip--);
c = (*(op-1));
break;
case ((0+28)+1):
switch (c)
{
case '\n':
(*op++=( c));
break;
case '/':
else
(*op++=( c));
{
break;
}
goto fsm_start;
case (255+1):
break;
default:
else
(*op++=( c));
break;
}
goto fsm_get;
case ((0+28)+2):
if (c)
{
goto fsm_terminal;
do{(proto->ip=ip);(proto->op=op);proto->flags&=~((1L<<5)|(1L<<9)|(1L<<17)|(1L<<27)|(1L<<28));proto->flags|=flags&((1L<<5)|(1L<<9)|(1L<<17)|(1L<<27)|(1L<<28));proto->call=call;}while(0);
return 0;
}
(ip--);
{
{
}
{
im -= c;
ie -= c;
}
if (aim)
aim -= c;
if (aie)
aie -= c;
{
{
}
*(ip + n) = 0;
goto fsm_splice;
goto fsm_get;
}
*ip = 0;
}
goto fsm_splice;
{
goto fsm_next;
}
do{(proto->ip=ip);(proto->op=op);proto->flags&=~((1L<<5)|(1L<<9)|(1L<<17)|(1L<<27)|(1L<<28));proto->flags|=flags&((1L<<5)|(1L<<9)|(1L<<17)|(1L<<27)|(1L<<28));proto->call=call;}while(0);
return 0;
case ((0+28)+3):
quot = c;
if (c == '"' && qe)
{
for (n = 0, t = qe + 1; t < op && (*t == ' ' || *t == '\t' || *t == '\n' && ++n || *t >= 'A' && *t <= 'Z' || *t == '_'); t++);
if (t == op)
{
qe = 0;
qn = n;
}
else (*op++=( c));
}
else
(*op++=( c));
goto fsm_get;
case ((0+28)+4):
if (c == quot)
{
(*op++=( c));
while (qn > 0)
{
qn--;
(*op++=( '\n'));
}
}
else if (c != '\n' && c != (255+1))
{
(*op++=( c));
goto fsm_get;
}
else
{
while (qn > 0)
{
qn--;
(*op++=( '\n'));
}
(ip--);
}
c = (0401+1);
break;
case ((0+28)+5):
else
switch (c)
{
case 'a':
n = (('A'==0301)?0057:0007);
goto fsm_oct;
case 'E':
n = (('A'==0301)?0047:0033);
goto fsm_oct;
case 'v':
n = 0013;
goto fsm_oct;
case 'x':
do{(proto->ip=ip);(proto->op=op);proto->flags&=~((1L<<5)|(1L<<9)|(1L<<17)|(1L<<27)|(1L<<28));proto->flags|=flags&((1L<<5)|(1L<<9)|(1L<<17)|(1L<<27)|(1L<<28));proto->call=call;}while(0);
for (n = x = 0; (c = (*(unsigned char*)ip++)), x < 3; x++) switch (c)
{
case '0': case '1': case '2': case '3':
case '4': case '5': case '6': case '7':
case '8': case '9':
n = (n << 4) + c - '0';
break;
case 'a': case 'b': case 'c': case 'd':
case 'e': case 'f':
n = (n << 4) + c - 'a' + 10;
break;
case 'A': case 'B': case 'C': case 'D':
case 'E': case 'F':
n = (n << 4) + c - 'A' + 10;
break;
default:
goto fsm_hex;
}
(ip--);
break;
default:
(*op++=( c));
break;
}
goto fsm_get;
case ((0+28)+6):
(ip--);
{
c = ((0500+4)+9);
break;
}
else c = (0401+0);
break;
case ((0+28)+7):
{
(*op++=( ' '));
}
else
(*op++=( c));
{
if (flags & (1L<<0))
{
{
*(ip - 1) = 0;
}
}
else
{
{
*(ip - 1) = 0;
{
op--;
if (*ip == '#')
{
}
else
{
op++;
while ((c = *ip) >= 'A' && c <= 'Z' || c >= 'a' && c <= 'z' || c >= '0' && c <= '9' || c == '_') *op++ = *ip++;
else *op++ = '"';
}
}
}
}
call = 0;
group = 0;
paren = 0;
last = '\n';
}
{
do{(proto->ip=ip);(proto->op=op);proto->flags&=~((1L<<5)|(1L<<9)|(1L<<17)|(1L<<27)|(1L<<28));proto->flags|=flags&((1L<<5)|(1L<<9)|(1L<<17)|(1L<<27)|(1L<<28));proto->call=call;}while(0);
return 0;
}
goto fsm_start;
case ((0+28)+8):
(*op++=( c));
goto fsm_get;
case ((0+28)+13):
(*op++=( c));
break;
case ((0+28)+14):
(ip--);
break;
case (((0+28)+12)):
(ip--);
c = (0401+0);
if (!(flags & (1L<<1))) switch (((((long)( *proto->tp))<<16)|(((long)( *(ip - 1)))<<8)|((long)( ip - proto->tp))))
{
case ((((long)( 'N'))<<16)|(((long)( 'N'))<<8)|((long)( 3))):
c = ((0500+4)+6);
break;
case ((((long)( 'd'))<<16)|(((long)( 'o'))<<8)|((long)( 2))):
c = ((0500+4)+6);
break;
case ((((long)( 'e'))<<16)|(((long)( 'e'))<<8)|((long)( 4))):
if (!(flags & (1L<<21)) && (flags & ((1L<<3)|(1L<<25))) != (1L<<3) && !sstrncmp( proto->tp, "else", 4))
{
c = ((0500+4)+8);
goto fsm_id;
}
break;
case ((((long)( 'e'))<<16)|(((long)( 'n'))<<8)|((long)( 6))):
c = ((0500+4)+9);
break;
case ((((long)( 'f'))<<16)|(((long)( 'r'))<<8)|((long)( 3))):
{
c = ((0500+4)+11);
goto fsm_id;
}
break;
case ((((long)( 'i'))<<16)|(((long)( 'f'))<<8)|((long)( 2))):
c = ((0500+4)+13);
break;
case ((((long)( 'i'))<<16)|(((long)( 'e'))<<8)|((long)( 6))):
if (!sstrncmp( proto->tp, "inline", 6) && !(flags & ((1L<<15)|(1L<<23)|(1L<<25)|(1L<<26))) && proto->brace == 0 && paren == 0 && group == 0 && (last == ';' || last == '}' || last == '\n' || last == 0))
{
do{(proto->ip=ip);(proto->op=op);proto->flags&=~((1L<<5)|(1L<<9)|(1L<<17)|(1L<<27)|(1L<<28));proto->flags|=flags&((1L<<5)|(1L<<9)|(1L<<17)|(1L<<27)|(1L<<28));proto->call=call;}while(0);
do{(proto->ip=ip);(proto->op=op);proto->flags&=~((1L<<5)|(1L<<9)|(1L<<17)|(1L<<27)|(1L<<28));proto->flags|=flags&((1L<<5)|(1L<<9)|(1L<<17)|(1L<<27)|(1L<<28));proto->call=call;}while(0);
}
break;
case ((((long)( 'r'))<<16)|(((long)( 'n'))<<8)|((long)( 6))):
{
c = ((0500+4)+17);
goto fsm_id;
}
break;
case ((((long)( 's'))<<16)|(((long)( 'c'))<<8)|((long)( 6))):
{
}
break;
case ((((long)( 't'))<<16)|(((long)( 'f'))<<8)|((long)( 7))):
{
c = ((0500+4)+9);
}
break;
case ((((long)( 'v'))<<16)|(((long)( 't'))<<8)|((long)( 8))):
break;
case ((((long)( 'v'))<<16)|(((long)( 'd'))<<8)|((long)( 4))):
{
else
{
do{(proto->ip=ip);(proto->op=op);proto->flags&=~((1L<<5)|(1L<<9)|(1L<<17)|(1L<<27)|(1L<<28));proto->flags|=flags&((1L<<5)|(1L<<9)|(1L<<17)|(1L<<27)|(1L<<28));proto->call=call;}while(0);
{
}
else c = ((0500+4)+30);
do{(proto->ip=ip);(proto->op=op);proto->flags&=~((1L<<5)|(1L<<9)|(1L<<17)|(1L<<27)|(1L<<28));proto->flags|=flags&((1L<<5)|(1L<<9)|(1L<<17)|(1L<<27)|(1L<<28));proto->call=call;}while(0);
}
}
break;
case ((((long)( 'w'))<<16)|(((long)( 'e'))<<8)|((long)( 5))):
{
c = ((0500+4)+26);
goto fsm_id;
}
break;
}
c = (0401+0);
break;
case ((0+28)+10):
goto fsm_start;
case ((0+28)+15):
(ip--);
{
op--;
}
goto fsm_start;
default:
{
if (c == '\\')
{
if (!(n = (*(unsigned char*)ip++)))
{
goto fsm_eob;
c = '\\';
n = (*(unsigned char*)ip++);
}
if (n == '\n')
{
(*op++=( '\\'));
(*op++=( '\n'));
goto fsm_get;
}
(ip--);
}
if (state >= (0+28))
goto fsm_terminal;
}
(*op++=( c));
goto fsm_get;
}
{
{
case '(':
{
if (paren++ == 0)
{
{
args = 0;
}
sub = 0;
}
{
sub++;
if (last == '(')
{
om = 0;
}
{
}
{
{
}
if (m == im)
{
om = 0;
}
}
{
om = 0;
}
}
}
break;
case ')':
if (--paren == 0)
{
if (flags & (1L<<0))
{
if (group != 2)
{
c = (0401+0);
break;
}
group++;
}
}
break;
case '*':
{
group--;
if (paren == 1)
{
}
}
break;
case '#':
if (proto->brace == 0 && paren == 0 && last != '=' && (flags & ((1L<<0)|(1L<<1)|(1L<<3)|(1L<<15)|(1L<<19)|(1L<<23)|(1L<<25))) == ((1L<<15)|(1L<<25)) && ((dir & 03) != 03 || ((dir>>2) & 03) != 01))
{
{
{
{
}
}
{
n = 0;
t = ip + 6;
switch (n)
{
case ((( ((( ((( (( 'e')-('a'-1)))<<5)+(( 'l')-('a'-1))))<<5)+(( 's')-('a'-1))))<<5)+(( 'e')-('a'-1))):
case ((( ((( ((( ((( (( 'e')-('a'-1)))<<5)+(( 'n')-('a'-1))))<<5)+(( 'd')-('a'-1))))<<5)+(( 'i')-('a'-1))))<<5)+(( 'f')-('a'-1))):
{
}
break;
case ((( ((( ((( (( 'e')-('a'-1)))<<5)+(( 'l')-('a'-1))))<<5)+(( 'i')-('a'-1))))<<5)+(( 'f')-('a'-1))):
case ((( ((( ((( ((( (( 'e')-('a'-1)))<<5)+(( 'r')-('a'-1))))<<5)+(( 'r')-('a'-1))))<<5)+(( 'o')-('a'-1))))<<5)+(( 'r')-('a'-1))):
case ((( (( 'i')-('a'-1)))<<5)+(( 'f')-('a'-1))):
case ((( ((( ((( ((( (( 'i')-('a'-1)))<<5)+(( 'f')-('a'-1))))<<5)+(( 'd')-('a'-1))))<<5)+(( 'e')-('a'-1))))<<5)+(( 'f')-('a'-1))):
case ((( ((( ((( ((( ((( (( 'i')-('a'-1)))<<5)+(( 'f')-('a'-1))))<<5)+(( 'n')-('a'-1))))<<5)+(( 'd')-('a'-1))))<<5)+(( 'e')-('a'-1))))<<5)+(( 'f')-('a'-1))):
case ((( ((( ((( ((( (( 'u')-('a'-1)))<<5)+(( 'n')-('a'-1))))<<5)+(( 'd')-('a'-1))))<<5)+(( 'e')-('a'-1))))<<5)+(( 'f')-('a'-1))):
break;
case ((( ((( ((( ((( ((( (( 'i')-('a'-1)))<<5)+(( 'n')-('a'-1))))<<5)+(( 'c')-('a'-1))))<<5)+(( 'l')-('a'-1))))<<5)+(( 'u')-('a'-1))))<<5)+(( 'd')-('a'-1))):
case ((( ((( ((( ((( ((( (( 'd')-('a'-1)))<<5)+(( 'e')-('a'-1))))<<5)+(( 'f')-('a'-1))))<<5)+(( 'i')-('a'-1))))<<5)+(( 'n')-('a'-1))))<<5)+(( 'e')-('a'-1))):
case ((( ((( ((( ((( ((( (( 'p')-('a'-1)))<<5)+(( 'r')-('a'-1))))<<5)+(( 'a')-('a'-1))))<<5)+(( 'g')-('a'-1))))<<5)+(( 'm')-('a'-1))))<<5)+(( 'a')-('a'-1))):
default:
break;
}
}
else
{
if (*ip == 'i' && *++ip == 'n' && *++ip == 'c' && *++ip == 'l' && *++ip == 'u' && *++ip == 'd' && *++ip == 'e')
{
if (*ip++ == '<' && *ip++ == 's' && *ip++ == 't' && *ip++ == 'd' && *ip++ == 'a' && *ip++ == 'r' && *ip++ == 'g' && *ip++ == '.' && *ip++ == 'h' && *ip++ == '>')
{
if !defined(va_start)\n\
#if defined(__STDARG__)\n\
#include <stdarg.h>\n\
#else\n\
#include <varargs.h>\n\
#endif\n\
#endif\n\
");
break;
}
}
else if (*ip == 'd' && *++ip == 'e' && *++ ip == 'f' && *++ip == 'i' && *++ip == 'n' && *++ip == 'e' && (*++ip == ' ' || *ip == '\t'))
{
if (*ip == 'e' && *++ip == 'x' && *++ ip == 't' && *++ip == 'e' && *++ip == 'r' && *++ip == 'n' && (*++ip == ' ' || *ip == '\t'))
{
t = ip;
while (*++t == ' ' || *t == '\t');
if (*t == 'e' && *++t == 'x' && *++ t == 't' && *++t == 'e' && *++t == 'r' && *++t == 'n' && (*++t == ' ' || *t == '\t' || *t == '\n' || *t == '\r'))
ip = t;
t = ip;
while (*++t == ' ' || *t == '\t');
if (*t == '_' && *(t + 1) == '_')
{
break;
}
}
}
else if (*ip == 'u' && *++ip == 'n' && *++ ip == 'd' && *++ip == 'e' && *++ip == 'f' && (*++ip == ' ' || *ip == '\t'))
{
if (*ip == 'e' && *++ip == 'x' && *++ ip == 't' && *++ip == 'e' && *++ip == 'r' && *++ip == 'n' && (*++ip == ' ' || *ip == '\t' || *ip == '\n' || *ip == '\r'))
{
break;
}
}
}
}
break;
}
else
break;
case '{':
{
else if (flags & (1L<<0))
{
{
if (args)
{
*v++ = ' ';
*v = 0;
}
ip--;
v = ie;
{
e = ie - 1;
{
if (*ie == '*')
{
{
while (e > v && (*(e - 1) == ' ' || *(e - 1) == '\t')) e--;
if (e > v && *e != '\n') *e++ = ' ';
t = ie;
while (--e >= v)
*--t = *e;
v = t;
break;
}
}
}
}
ie = v;
{
v = op;
while (v > ko && *--v != ' ');
if (*v != ' ')
{
while (v >= ko + 4)
{
*v = *(v - 4);
v--;
}
}
if (*v == ' ')
{
while (*(v + 1) == '*')
*v++ = '*';
*v = '\t';
if ((v - ko) <= 8)
{
while (e > v)
{
*e = *(e - 1);
e--;
}
}
}
while (v >= ko + 7)
{
*v = *(v - 7);
v--;
}
}
(*op++=( '('));
t = op;
e = 0;
{
{
}
{
{
m = op;
op--;
v = op;
op--;
op--;
if (!e)
{
e = op;
e--;
}
while (v < m)
(*op++=( *v++));
}
(*op++=( ','));
if (n)
{
if (x = !e) e = op - 1;
(*op++=( ' '));
m = t;
while (m < e)
(*op++=( *m++));
if (x)
{
m = e;
while (*--e != ' ');
while (*(e - 1) == '*') e--;
op -= m - e;
}
}
else (*op++=( ' '));
if (!n)
{
t = op;
e = 0;
}
}
else if (*ie == '*')
{
}
else if (*ie == '(')
{
}
else if (*ie == ')')
{
proto_error((char*)proto + sizeof(Proto_t), 1, "function pointer argument prototype omitted", ((char*)0));
}
else if ((flags & (1L<<5)) && (op == om || *(op - 1) == ' ') && *ie == 'r' && !sstrncmp( ie, "register", 8) && (*(ie + 8) == ' ' || *(ie + 8) == '\t' || *(ie + 8) == '\n'))
{
ie += 8;
}
}
(*op++=( ')'));
{
(*op++=( ';'));
(*op++=( '\n'));
}
else
{
(*op++=( '\n'));
}
ip++;
}
}
{
(*op++=( ','));
(*op++=( ' '));
(*op++=( '('));
{
}
else
{
group = 0;
brack = 0;
for (;;)
{
{
case '[':
brack++;
continue;
case ']':
brack--;
continue;
case '(':
continue;
case ')':
if (--paren == 0)
{
group = 0;
{
}
break;
}
continue;
case ',':
if (paren == 1)
{
group = 0;
{
}
(*op++=( ','));
(*op++=( ' '));
}
continue;
case (0401+0):
{
}
continue;
default:
continue;
}
break;
}
(*op++=( ')'));
(*op++=( ')'));
}
{
n = *(ie - 1);
c = *ie;
*ie = 0;
*(ie - 1) = n;
*ie = c;
(*op++=( ')'));
}
{
(*op++=( '\n'));
(*op++=( '#'));
}
}
}
call = 0;
group = 0;
break;
case '}':
{
}
call = 0;
group = 0;
paren = 0;
break;
case '=':
{
else goto fsm_statement;
}
goto fsm_other;
case ',':
if (flags & (1L<<0))
{
else
{
args--;
}
break;
}
case ';':
else if (flags & (1L<<0))
{
if (paren == 0)
{
{
call = 0;
group = 0;
{
do{(proto->ip=ip);(proto->op=op);proto->flags&=~((1L<<5)|(1L<<9)|(1L<<17)|(1L<<27)|(1L<<28));proto->flags|=flags&((1L<<5)|(1L<<9)|(1L<<17)|(1L<<27)|(1L<<28));proto->call=call;}while(0);
return 0;
}
}
else
{
args--;
}
}
}
else if (paren == 0)
{
{
{
func[0] = 'F';
func = 0;
}
{
v = aim;
while (v < aie)
if (*v++ == ')') break;
{
else n = 11;
om += n;
v = op += n;
while (v >= ko + n)
{
*v = *(v - n);
v--;
}
else
{
*ko = ')';
{
*ko++ = ')';
}
}
}
}
{
if (*op != ')')
{
*--op = ')';
while ((x = *(op - 14)) >= 'A' && x <= 'Z' || x >= 'a' && x <= 'z' || x >= '0' && x <= '9' || x == '_')
*--op = x;
}
}
;
{
(*op++=( c));
}
else
{
else
{
(*op++=( ')'));
}
(*op++=( c));
}
{
call = 1;
group = 0;
break;
}
}
if (c == ';')
{
call = 0;
{
do{(proto->ip=ip);(proto->op=op);proto->flags&=~((1L<<5)|(1L<<9)|(1L<<17)|(1L<<27)|(1L<<28));proto->flags|=flags&((1L<<5)|(1L<<9)|(1L<<17)|(1L<<27)|(1L<<28));proto->call=call;}while(0);
return 0;
}
}
group = 0;
}
break;
case ((0500+4)+6):
case ((0500+4)+13):
break;
case ((0500+4)+9):
if (flags & (1L<<0))
{
}
else
{
{
{
}
}
else
func = 0;
}
break;
case (0401+29):
{
op -= 3;
do{(proto->ip=ip);(proto->op=op);proto->flags&=~((1L<<5)|(1L<<9)|(1L<<17)|(1L<<27)|(1L<<28));proto->flags|=flags&((1L<<5)|(1L<<9)|(1L<<17)|(1L<<27)|(1L<<28));proto->call=call;}while(0);
return c;
}
break;
case ((0500+4)+30):
goto fsm_id;
case (0500+1):
{
do{(proto->ip=ip);(proto->op=op);proto->flags&=~((1L<<5)|(1L<<9)|(1L<<17)|(1L<<27)|(1L<<28));proto->flags|=flags&((1L<<5)|(1L<<9)|(1L<<17)|(1L<<27)|(1L<<28));proto->call=call;}while(0);
for (;;)
{
{
case 0:
case ';':
break;
case (0401+0):
{
}
continue;
default:
continue;
}
break;
}
{
v = m;
n = e - m;
}
else
{
v = "ap";
n = 2;
}
group = 0;
if (*bp == 'r' && !sstrncmp( bp, "register", 8) && (*(bp + 8) == ' ' || *(bp + 8) == '\t')) bp += 9;
for (;;)
{
{
case '(':
continue;
case ')':
if (--paren == 0)
{
{
{
}
(*op++=( ','));
(*op++=( ' '));
(*op++=( ')'));
(*op++=( ';'));
}
group = 0;
break;
}
continue;
case ',':
if (paren == 1)
{
{
{
}
(*op++=( ','));
(*op++=( ' '));
(*op++=( ')'));
(*op++=( ';'));
if (*bp == 'r' && !sstrncmp( bp, "register", 8) && (*(bp + 8) == ' ' || *(bp + 8) == '\t')) bp += 9;
}
group = 0;
}
continue;
case (0401+0):
if (group <= 1)
{
}
continue;
default:
continue;
}
break;
}
call = 0;
break;
}
case (0401+0):
if (flags & (1L<<0))
{
break;
}
if (paren == 0)
{
if (last == ')')
{
}
}
c = (0401+0);
break;
case (0401+1):
{
n = 0;
for (;; op--)
{
switch (*(op - 1))
{
case 'f':
case 'F':
t = op;
while ((c = *--t) >= '0' && c <= '9' || c >= 'a' && c <= 'z' || c >= 'A' && c <= 'Z');
if (*t == '.')
op--;
n = 0;
break;
case 'l':
case 'L':
if (!(n & 01))
{
n |= 01;
t = op;
while ((c = *--t) >= '0' && c <= '9' || c >= 'a' && c <= 'z' || c >= 'A' && c <= 'Z');
if (*t == '.')
{
n = 0;
op--;
break;
}
}
continue;
case 'u':
case 'U':
n |= 02;
continue;
}
break;
}
if (n & 01)
*op++ = 'L';
if (n & 02)
{
m = op;
t = op = m + 10;
while ((c = *--m) >= '0' && c <= '9' || c >= 'a' && c <= 'z' || c >= 'A' && c <= 'Z')
*--t = c;
c = *t;
*t = c;
break;
}
}
goto fsm_other;
case '[':
default:
if (flags & (1L<<0)) break;
break;
}
last = c;
if ((flags & ((1L<<5)|(1L<<15))) == ((1L<<5)|(1L<<15)) && ((flags & ((1L<<3)|(1L<<23))) || proto->brace || c != '(' && c != ')' && c != '*' && c != (0401+0)))
else
goto fsm_start;
}
{
t = 0;
else
{
if (c == '#')
{
if (*t++ == 'i' && *t++ == 'f' && *t++ == 'n' && *t++ == 'd' && *t++ == 'e' && *t++ == 'f')
{
t = 0;
}
}
else
t = "";
}
if (t)
{
ip -= n;
op -= n;
}
else
while (*ip != '\n')
goto fsm_start;
}
do{(proto->ip=ip);(proto->op=op);proto->flags&=~((1L<<5)|(1L<<9)|(1L<<17)|(1L<<27)|(1L<<28));proto->flags|=flags&((1L<<5)|(1L<<9)|(1L<<17)|(1L<<27)|(1L<<28));proto->call=call;}while(0);
return c;
}
void
}
#line 2055
char*
pppopen __PARAM__((char* file, int fd, char* notice, char* options, char* package, char* comment, int flags), (file, fd, notice, options, package, comment, flags)) __OTORP__(char* file; int fd; char* notice; char* options; char* package; char* comment; int flags;){
register char* iob;
register long n;
register char* s;
char* t;
int pragma;
int clr;
int hit;
int i;
int z;
char* b;
int comlen;
int m = 0;
static int retain;
{
n = (16*1024);
if (!(proto = (( 0)?( Proto_t*)realloc((char*)( 0),sizeof( Proto_t)*( 1)+( 5 * n + 2)):( Proto_t*)calloc(1,sizeof( Proto_t)*( 1)+( 5 * n + 2)))))
return 0;
}
if (!comment)
comment = "/*";
else if (comment[1])
{
}
else
if (n < 0)
{
return 0;
}
#line 2165
if (!notice && !options || (comlen = astlicense(com, sizeof(com), ((char*)0), "type=check", proto->cc[0], proto->cc[1], proto->cc[2])) <= 0)
*com = 0;
pragma = -1;
m = 80;
{
while (*s == ' ' || *s == '\t')
s++;
if (*s == '#')
{
b = s++;
while (*s == ' ' || *s == '\t')
s++;
if (*s == *"pragma"&& !sstrncmp( s, "pragma", sizeof("pragma") - 1) && (*(s += sizeof("pragma") - 1) == ' ' || *s == '\t'))
{
clr = 0;
while (*s && *s != '\r' && *s != '\n')
{
for (; *s == ' ' || *s == '\t'; s++);
for (t = s; *s && *s != ' ' && *s != '\t' && *s != '\r' && *s != '\n'; s++);
z = s - t;
{
clr = 1;
{
case 0x02:
break;
case 0x01:
break;
}
}
}
if (clr)
{
for (; b < s; *b++ = ' ');
}
}
}
else if (*s == *"/* : : generated by proto : : */\n"&& !sstrncmp( s, "/* : : generated by proto : : */\n", sizeof("/* : : generated by proto : : */\n") - 1))
{
pragma = 0;
break;
}
else if (*s == '%' && *(s + 1) == '{')
else if (!(hit & 0x02))
{
{
hit |= 0x02;
}
else
{
{
while (*s == ' ' || *s == '\t')
s++;
if (*s == '(' && (*(s + 1) == 'c' || *(s + 1) == 'C') && *(s + 2) == ')' || *s >= '0' && *s <= '9' && *(s + 1) >= '0' && *(s + 1) <= '9')
{
}
}
else
{
}
break;
}
}
while (*s && *s++ != '\n');
}
if (flags & (1<<0)) pragma = -pragma;
if (!(proto->flags & (1L<<29)) && file && (m = sstrlen( file)) > 2 && file[--m] == 'y' && file[--m] == '.')
if (pragma <= 0)
{
{
}
{
return 0;
}
{
{
{
while (*s && *s++ != '\n');
}
{
if ((comlen = astlicense(proto->op, proto->oz, notice, options, proto->cc[0], proto->cc[1], proto->cc[2])) < 0)
else
}
}
return iob;
}
}
{
ppfsm(4, ((char*)0));
}
{
{
if ((comlen = astlicense(proto->op, proto->oz, notice, options, proto->cc[0], proto->cc[1], proto->cc[2])) < 0)
else
}
{
}
{
if (flags & (1<<0))
{
}
else
}
if (!(flags & (1<<0)))
{
{
}
else
{
if (n)
}
}
}
if (flags & (1<<0))
{
}
return iob;
}
int
register int n;
{
{
}
else if ((n = read(proto->fd, proto->ob, proto->oz)) <= 0 || (proto->options & (1L<<0)) && n < proto->oz)
{
}
}
else
{
{
{
if (!*ip)
{
{
if (n < 0) n = 0;
}
ip[n] = 0;
}
{
if (*ip == '%')
{
}
}
{
ip++;
if (n == '%')
{
{
break;
}
if (!*ip)
{
*op++ = '%';
break;
}
}
}
}
else
}
}
return n;
}
static int
proto __PARAM__((char* file, char* license, char* options, char* package, char* copy, char* comment, int flags), (file, license, options, package, copy, comment, flags)) __OTORP__(char* file; char* license; char* options; char* package; char* copy; char* comment; int flags;){
char* b;
char* e;
char* p;
int n;
int m;
int x;
int fd;
{
if (!file)
fd = 1;
{
x = *e;
*e = '_';
{
pppclose(b);
}
*e = x;
}
else if (copy)
{
{
pppclose(b);
}
e = buf + n;
if (*file != '/')
*e++ = '/';
{
for (e = buf; *e == '/'; e++);
do
{
if (*e == '/')
{
*e = 0;
{
pppclose(b);
}
*e = '/';
}
} while (*e++);
{
pppclose(b);
}
}
}
else
fd = 1;
while ((n = pppread(b)) > 0)
{
p = b;
for (;;)
{
{
break;
}
if ((n -= m) <= 0)
break;
p += m;
}
if (m < 0)
break;
}
if (fd > 1)
{
*e = '_';
*e = x;
}
pppclose(b);
}
return flags;
}
typedef struct Sufcom_s
{
} Sufcom_t;
{
"c", "/*",
"cpp", "/*",
"cxx", "/*",
"c++", "/*",
"C", "/*",
"CPP", "/*",
"CXX", "/*",
"C++", "/*",
"f", "C",
"F", "C",
"h", "/*",
"hpp", "/*",
"hxx", "/*",
"H", "/*",
"HPP", "/*",
"HXX", "/*",
"ksh", "#",
"KSH", "#",
"l", "/*",
"L", "/*",
"p", "(*)",
"pas", "(*)",
"P", "(*)",
"PAS", "(*)",
"pl", "#",
"PL", "#",
"pl1", "/*",
"pli", "/*",
"PL1", "/*",
"PLI", "/*",
"sh", "#",
"SH", "#",
"sml", "(*)",
"SML", "(*)",
"y", "/*",
"Y", "/*",
};
static char*
type __PARAM__((register char* file, char* comment), (file, comment)) __OTORP__(register char* file; char* comment;){
register char* suffix;
register int i;
{
suffix = 0;
while (*file)
if (*file++ == '.')
}
return comment;
}
int
char* b;
char* file;
int fd;
int n;
char* op;
char* oe;
char* comment = 0;
char* copy = 0;
char* list = 0;
char* license = 0;
char* options = 0;
char* package = 0;
;
{
for (;;)
{
switch (*++file)
{
case 0:
break;
case 'c':
break;
case 'd':
continue;
case 'e':
{
file = "??";
continue;
}
break;
case 'f':
continue;
case 'h':
continue;
case 'i':
flags |= (1<<0);
continue;
case 'l':
{
file = "??";
continue;
}
break;
case 'n':
continue;
case 'o':
{
file = "??";
continue;
}
if (!options)
{
}
n = sstrlen( b);
else
{
*op++ = '\n';
op += n;
}
break;
case 'p':
continue;
case 'r':
continue;
case 's':
continue;
case 't':
continue;
case 'v':
continue;
case 'x':
continue;
case 'z':
continue;
case 'C':
{
file = "??";
continue;
}
break;
case 'L':
{
file = "??";
continue;
}
break;
case 'P':
case '+':
continue;
case 'S':
comment = "#";
continue;
default:
case '?':
b = "Usage: proto [-dfhinprstvzP+S] [-C directory] [-e package] [-l file]\n [-o \"name='value' ...\"] [-L file] file ...\n";
return 2;
}
break;
}
}
if (list)
{
fd = 0;
do
{
if (b > buf)
{
*b = 0;
}
} while (n > 0);
if (fd > 0)
}
if (file)
do flags = proto(file, license, options, package, copy, type(file, comment), flags); while (file = *++argv);
else if (!list)
}