rem: while (np && (np->index == -2 || (strncmp(np->id, id1, n1) || np->id[n1])))
add: while (np && (strncmp(np->id, id1, n1) || np->id[n1]))
context: soap_match_namespace(struct soap *soap, const char *id1, const char *id2, int n1, int n2){ register struct soap_nlist *np = soap->nlist;  while (np && (np->index == -2 || (strncmp(np->id, id1, n1) || np->id[n1])))    np = np->next;  if (np)  { if (np->index < 0 || (np->index >= 0 && soap->local_namespaces[np->index].id && (strncmp(soap->local_namespaces[np->index].id, id2, n2) || soap->local_namespaces[np->index].id[n2])))      return SOAP_NAMESPACE;    return SOAP_OK;  }  if (n1 == 3 && n1 == n2 && !strcmp(id1, "xml") && !strcmp(id1, id2))    return SOAP_OK;  return SOAP_SYNTAX_ERROR;}