Nils M Holm <[EMAIL PROTECTED]> writes: > ---------- description ---------- > An member of an array A is assigned the value of a function P. > As a side effect, the function P realloc()s the array A. > > When including the array A in a multiple assignment, the > old address of A is used instead of the address of the newly > allocated memory.
This is not a bug. The evaluation order of the operands is unspecified. > When splitting the multiple assignment in two (see #ifdef WORK_AROUND), > everything works fine. It's not a workaround, it's the only correct solution. Andreas. -- Andreas Schwab, SuSE Labs, [EMAIL PROTECTED] SuSE Linux Products GmbH, Maxfeldstraße 5, 90409 Nürnberg, Germany PGP key fingerprint = 58CA 54C7 6D53 942B 1756 01D3 44D5 214B 8276 4ED5 "And now for something completely different."