rem: { struct soap_plist *pp;
add: { register struct soap_plist *pp;
context: soap_array_pointer_lookup(struct soap *soap, const void *p, const struct soap_array *a, int n, int type, struct soap_plist **ppp){ struct soap_plist *pp;  *ppp = NULL;  if (!p || !a->__ptr)    return 0;  for (pp = soap->pht[soap_hash_ptr(a->__ptr)]; pp; pp = pp->next)    if (pp->type == type && pp->array && pp->array->__ptr == a->__ptr && pp->array->__size == n)    { *ppp = pp;      DBGLOG(TEST, SOAP_MESSAGE(fdebug, "Array lookup location=%p type=%d id=%d\n", a->__ptr, type, pp->id));      return pp->id;    }  DBGLOG(TEST, SOAP_MESSAGE(fdebug, "Array lookup location=%p type=%d: not found\n", a->__ptr, type));  return 0;}