rem: soap_pointer_enter(struct soap *soap, const void *p, int type, struct soap_plist **ppp) { register struct soap_plist *pp; if (!p) { *ppp = NULL;
add: soap_pointer_enter(struct soap *soap, const void *p, const struct soap_array *a, int n, int type, struct soap_plist **ppp) { register int h; register struct soap_plist *pp = *ppp = (struct soap_plist*)SOAP_MALLOC(sizeof(struct soap_plist)); if (!pp)
context: soap_pointer_enter(struct soap *soap, const void *p, int type, struct soap_plist **ppp){ register struct soap_plist *pp;  if (!p)  { *ppp = NULL;    return 0;  }  DBGLOG(TEST, SOAP_MESSAGE(fdebug, "Enter location=%p type=%d id=%lu\n", p, type, soap->idnum+1));  *ppp = pp = (struct soap_plist*)SOAP_MALLOC(sizeof(struct soap_plist));  if (pp)  { register int h = soap_hash_ptr(p);    pp->next = soap->pht[h];    pp->type = type;    if ((soap->mode & SOAP_XML_TREE) || soap->part == SOAP_IN_HEADER)    { pp->mark1 = 0;      pp->mark2 = 0;    }    else    { pp->mark1 = 1;      pp->mark2 = 1;    }    pp->ptr = p;    pp->array = NULL;    soap->pht[h] = pp;    return pp->id = ++soap->idnum;  }  return 0;}