diff --git a/src/qset.c b/src/qset.c index f902ea7a6cc7cf0c3f064471d9d83564f9008f6c..d79841c1f63b056cce406f65116544d3a88a6a3f 100644 --- a/src/qset.c +++ b/src/qset.c @@ -126,8 +126,7 @@ void qh_setaddsorted(setT **setp, void *newelem) { */ void qh_setappend(setT **setp, void *newelem) { - int *sizep; - void **endp; + int *sizep, end_idx; if (!newelem) return; @@ -135,8 +134,9 @@ void qh_setappend(setT **setp, void *newelem) { qh_setlarger(setp); sizep= SETsizeaddr_(*setp); } - *(endp= &((*setp)->e[(*sizep)++ - 1].p))= newelem; - *(++endp)= NULL; + end_idx = (*sizep)++ - 1; + (*setp)->e[end_idx].p = newelem; + (*setp)->e[end_idx + 1].p = NULL; } /* setappend */ /*-<a href="qh-set.htm#TOC"