On Wed, 26 Jan 2005, Evgeny Kotsuba wrote:

as it was function with knowledge of quoting I used precise handling for "\\\\" and "\\\"" cases

      default:
        if(ch == '\\' && (p[1] == '\\' || p[1] == '\"'))
        { p++;
          *d++ = ch = *p;
          if (ch)
              p++;
        } else {
          if (!quoted && isspace(*p)) {
              p++;
              goto done;
          }
          *d++ = *p++;
        }
          break;

Which is not what the standard function did read like, but I see your point. Perhaps this function should be split in two versions, one for external acl communication, another for general "list of words" parsing.


Historically the function came from the external acl implementation but then found more uses. And today external acl is moving away from using this function in favor for URL escaped strings (default in Squid-3, also supported by Squid-2.5)

Regards
Henrik

Reply via email to