rem: } 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;
add: if (a) h = soap_hash_ptr(a->__ptr); else h = soap_hash_ptr(p); DBGLOG(TEST, SOAP_MESSAGE(fdebug, "Pointer enter location=%p array=%p size=%d dim=%d type=%d id=%lu\n", p, a?a->__ptr:NULL, a?a->__size:0, n, type, soap->idnum+1)); pp->next = soap->pht[h]; pp->type = type; pp->mark1 = 0; pp->mark2 = 0; pp->ptr = p; pp->array = a; soap->pht[h] = pp; pp->id = ++soap->idnum; return pp->id;
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;}