mirror of
git://gcc.gnu.org/git/gcc.git
synced 2024-12-23 00:59:36 +08:00
20010408-1.c: New test.
2001-04-08 Franz Sirl <Franz.Sirl-kernel@lauterbach.com> * gcc.c-torture/compile/20010408-1.c: New test. From-SVN: r41193
This commit is contained in:
parent
d4206a103e
commit
9b38026f18
@ -1,3 +1,7 @@
|
||||
2001-04-08 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
|
||||
|
||||
* gcc.c-torture/execute/20010408-1.c: New test.
|
||||
|
||||
2001-04-06 Benjamin Kosnik <bkoz@redhat.com>
|
||||
|
||||
* g++.old-deja/g++.benjamin/15071.C (main): Update to conformant
|
||||
|
77
gcc/testsuite/gcc.c-torture/compile/20010408-1.c
Normal file
77
gcc/testsuite/gcc.c-torture/compile/20010408-1.c
Normal file
@ -0,0 +1,77 @@
|
||||
extern struct win *windows, *wtab[];
|
||||
struct win
|
||||
{
|
||||
struct win *w_next;
|
||||
};
|
||||
|
||||
struct auser;
|
||||
|
||||
struct comm
|
||||
{
|
||||
char *name;
|
||||
int flags;
|
||||
};
|
||||
|
||||
extern struct comm comms[];
|
||||
|
||||
extern int WindowByNoN (char *);
|
||||
extern int FindCommnr (char *);
|
||||
extern int AclSetPermCmd (struct auser *, char *, struct comm *);
|
||||
extern int AclSetPermWin (struct auser *, struct auser *, char *, struct win *);
|
||||
|
||||
|
||||
int
|
||||
AclSetPerm(uu, u, mode, s)
|
||||
struct auser *uu, *u;
|
||||
char *mode, *s;
|
||||
{
|
||||
struct win *w;
|
||||
int i;
|
||||
char *p, ch;
|
||||
|
||||
do
|
||||
{
|
||||
}
|
||||
while (0);
|
||||
|
||||
while (*s)
|
||||
{
|
||||
switch (*s)
|
||||
{
|
||||
case '*':
|
||||
return AclSetPerm(uu, u, mode, "#?");
|
||||
case '#':
|
||||
if (uu)
|
||||
AclSetPermWin(uu, u, mode, (struct win *)1);
|
||||
else
|
||||
for (w = windows; w; w = w->w_next)
|
||||
AclSetPermWin((struct auser *)0, u, mode, w);
|
||||
s++;
|
||||
break;
|
||||
case '?':
|
||||
if (uu)
|
||||
AclSetPermWin(uu, u, mode, (struct win *)0);
|
||||
else
|
||||
for (i = 0; i <= 174; i++)
|
||||
AclSetPermCmd(u, mode, &comms[i]);
|
||||
s++;
|
||||
break;
|
||||
default:
|
||||
for (p = s; *p && *p != ' ' && *p != '\t' && *p != ','; p++)
|
||||
;
|
||||
if ((ch = *p))
|
||||
*p++ = '\0';
|
||||
if ((i = FindCommnr(s)) != -1)
|
||||
AclSetPermCmd(u, mode, &comms[i]);
|
||||
else if (((i = WindowByNoN(s)) >= 0) && wtab[i])
|
||||
AclSetPermWin((struct auser *)0, u, mode, wtab[i]);
|
||||
else
|
||||
return -1;
|
||||
if (ch)
|
||||
p[-1] = ch;
|
||||
s = p;
|
||||
}
|
||||
}
|
||||
|
||||
return 0;
|
||||
}
|
Loading…
Reference in New Issue
Block a user