Hi Matthew, > e->short_options += (short_options - hol->short_options); > > subtracts two pointers that do not point to the same memory object. > Something like: > > e->short_options = short_options + (e->short_options - hol->short_options); > > does the intended operation with legal pointer arithmetic.
Thanks for the suggestion. However, I find the existing code easier to understand than the one you propose. Therefore, to understand the possible impact, a question: Do you know of any platforms where sizeof (ptrdiff_t) < sizeof (void *) ? Bruno -- In memoriam Wasfi al-Tal <http://en.wikipedia.org/wiki/Wasfi_al-Tal>