* lib/wordsplit.c (coalesce_segment): Reword to avoid
GCC bug 106427.
struct wordsplit_node *p, *end;
size_t len = 0;
char *buf, *cur;
- int stop;
for (p = node; p->flags & _WSNF_JOIN; )
{
cur = buf;
p = node;
- for (stop = 0; !stop;)
+ for (;;)
{
struct wordsplit_node *next = p->next;
const char *str = wsnode_ptr (wsp, p);
{
node->flags |= p->flags & _WSNF_QUOTE;
wsnode_remove (wsp, p);
- stop = p == end;
+ if (p == end)
+ {
+ /* Call wsnode_free separately to work around GCC bug 106427. */
+ wsnode_free (p);
+ break;
+ }
wsnode_free (p);
}
p = next;