mirror of
git://gcc.gnu.org/git/gcc.git
synced 2024-12-23 06:58:54 +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>
|
2001-04-06 Benjamin Kosnik <bkoz@redhat.com>
|
||||||
|
|
||||||
* g++.old-deja/g++.benjamin/15071.C (main): Update to conformant
|
* 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