void Update_in_tag_info(PRBool *a_in_tag,
static void Update_in_tag_info(PRBool *a_in_tag,
void Update_in_tag_info(PRBool *a_in_tag, /* IN/OUT */                   PRBool *a_in_quote_in_tag, /* IN/OUT */                   char *a_quote_char, /* IN/OUT (pointer to single char) */                   char a_current_char) /* IN */{  if(*a_in_tag) {    // Keep us informed of what's quoted so that we    // don't end the tag too soon. For instance in    // <font face="weird>font<name">    if(*a_in_quote_in_tag) {      // We are in a quote. A quote is ended by the same      // character that started it ('...' or "...")      if(*a_quote_char == a_current_char) {        *a_in_quote_in_tag = PR_FALSE;      }    } else {      // We are not currently in a quote, but we may enter      // one right this minute.      switch(a_current_char) {      case '"':      case '\'':        *a_in_quote_in_tag = PR_TRUE;        *a_quote_char = a_current_char;        break;              case '>':        // Tag is ended        *a_in_tag = PR_FALSE;        break;              default:        // Do nothing        ;      }          }    return;  }  // Not in a tag.   // Check if we are entering a tag by looking for '<'.  // All normal occurances of '<' should have been replaced  // by &lt;  if ('<' == a_current_char) {    *a_in_tag = PR_TRUE;    *a_in_quote_in_tag = PR_FALSE;  }  }