rem: for (ip = soap->iht[i]; ip; ip = ip->next)
add: { for (ip = soap->iht[i]; ip; ip = ip->next)
context: soap_update_ptrs(struct soap *soap, char *start, char *end, long offset){ int i;  register struct soap_ilist *ip;  register struct soap_flist *fp;  register void *p, **q;  for (i = 0; i < SOAP_IDHASH; i++)    for (ip = soap->iht[i]; ip; ip = ip->next)    { if (ip->ptr && (char*)ip->ptr >= start && (char*)ip->ptr < end)      { DBGLOG(TEST, SOAP_MESSAGE(fdebug, "Update id='%s' %p -> %p\n", ip->id, ip->ptr, (char*)ip->ptr + offset));        ip->ptr = (char*)ip->ptr + offset;      }      for (q = &ip->link; q; q = (void**)p)      { p = *q;        if (p && (char*)p >= start && (char*)p < end)        { DBGLOG(TEST, SOAP_MESSAGE(fdebug, "Link update id='%s' %p\n", ip->id, p));          *q = (char*)p + offset;        }      }      for (q = &ip->copy; q; q = (void**)p)      { p = *q;        if (p && (char*)p >= start && (char*)p < end)        { DBGLOG(TEST, SOAP_MESSAGE(fdebug, "Copy chain update id='%s' %p\n", ip->id, p));          *q = (char*)p + offset;        }      }      for (fp = ip->flist; fp; fp = fp->next)      { if ((char*)fp->ptr >= start && (char*)fp->ptr < end)        { DBGLOG(TEST, SOAP_MESSAGE(fdebug, "Copy list update id='%s' %p\n", ip->id, fp));          fp->ptr = (char*)fp->ptr + offset;        }      }    }}