Es kann durchaus sein, das p->ref nicht definiert ist - daher den oberen

iterate() Teil nur ausfuehren wenn p->ref definiert ist - ansonsten gibt
es einen Probleme bei der Verwendung von p->ref beim decref() Aufruf.

xli wird abgeprueft, aber nur unter bestimmten Bedingungen initialisiert
sind diese Bedingungen nicht gegeben, wird xli unitialisiert abgeprueft
was zu einem Fehler fuehren kann. Daher wird xli standardmaessig mit 256
initialisiert.
This commit is contained in:
Oliver Lehmann 2009-07-29 06:57:58 +00:00
parent 96f6639d5c
commit 7cecb37211
1 changed files with 2 additions and 2 deletions

View File

@ -643,7 +643,7 @@ iterate()
printf("iterate works\n");
nchange = 0;
for (p = first.forw; p!=0; p = p->forw) {
if (p->op && p->op <= JSW) {
if (p->op && p->op <= JSW && p->ref) {
if(debug > 2){
printf("iterate works on:");
dbprint(p);
@ -939,7 +939,7 @@ char *str;
register char *s = str;
char *anf, *ende;
char *stkp;
unsigned xli;
unsigned xli = 256;
while(*s) {
while(*s && *s != '_')