anchor.diff:  
   
   %% start of quoted uri
  -comma(Parsed, [$< | Rest], false, false) ->
  +comma(Parsed, [$< | Rest], _InQuote = false, false) ->
       comma([$< | Parsed], Rest, false, true);
   
   %% end of quoted uri
  -comma(Parsed, [$> | Rest], false, true) ->
  +comma(Parsed, [$> | Rest], _InQuote = false, true) ->
       comma([$> | Parsed], Rest, false, false);
   
   %% inside quoted uri - ignore comma or any other special chars
  -comma(Parsed, [Char | Rest], false, true) ->
  +comma(Parsed, [Char | Rest], _InQuote = false, true) ->
       comma([Char | Parsed], Rest, false, true);
   
   %% -------------
   
   %% an escape code e.g. "\," has been found, don't treat it in any special manner
   %% only done inside a quoted segment of the string
  -comma(Parsed, [$\\, Char | Rest], true, false) ->
  +comma(Parsed, [$\\, Char | Rest], _InQuote = true, false) ->
       comma([Char, $\\ | Parsed], Rest, true, false);
   
   %% Inquote = false, we have now entered inside a quoted ("...") string segment
  -comma(Parsed, [$\" | Rest], false, false) ->
  +comma(Parsed, [$\" | Rest], _InQuote = false, false) ->
       comma([$\" | Parsed], Rest, true, false);
   
   %% Inquote = true and a new quote (") found - end of quoted string segment
  -comma(Parsed, [$\" | Rest], true, false) ->
  +comma(Parsed, [$\" | Rest], _InQuote = true, false) ->
       comma([$\" | Parsed], Rest, false, false);
   
   %% regular char, store in current string
  -comma(Parsed, [Char | Rest], true, false) ->
  +comma(Parsed, [Char | Rest], _InQuote = true, false) ->
       comma([Char | Parsed], Rest, true, false);
   
   %% -------------
   
   %% Inquote = false, so comma is a comma that splits string
   %% start looking for the next one
  -comma(Parsed, [$, | Rest], false, false) ->
  +comma(Parsed, [$, | Rest], _InQuote = false, false) ->
       [lists:reverse(string:strip(Parsed, both)) | comma([], Rest, false, false)];
   
   %% regular char, store in current string
  -comma(Parsed, [Char | Rest], false, false) ->
  +comma(Parsed, [Char | Rest], _InQuote = false, false) ->
       comma([Char | Parsed], Rest, false, false);
   
   %% end of string, clean up last comma separated entry (it's an error
   %% if Inquote or InUriQuote = true, the quotes are then unbalanced)
  -comma(Parsed, [], false, false) ->
  +comma(Parsed, [], _InQuote = false, false) ->
       [lists:reverse(string:strip(Parsed, both))].
   
   %%--------------------------------------------------------------------
  
positive.code: %% Returns : Branch = string() | none
  %%--------------------------------------------------------------------
  get_via_branch(TopVia) when is_record(TopVia, via) ->
      Branch = get_via_branch_full(TopVia),
      remove_loop_cookie(Branch).
  
  
negative.code: 
      %% test httparg(String)
      %%--------------------------------------------------------------------
      autotest:mark(?LINE, "httparg/1 - 1"),
      ["bar","baz=true","foo"] = dict_to_param( httparg("foo&bar&baz=true") ),
  
      %% is_supported(Extension, Header)
      %%--------------------------------------------------------------------
      autotest:mark(?LINE, "is_supported/2 - 1"),
      true = is_supported("foo", keylist:from_list([{"Supported", ["foo", "bar"]}])),
  
      autotest:mark(?LINE, "is_supported/2 - 2"),
      false = is_supported("test", keylist:from_list([{"Supported", ["foo", "bar"]}])),
  
      autotest:mark(?LINE, "is_supported/2 - 3"),
      false = is_supported("test", keylist:from_list([])),
  
  
      %% is_required(Extension, Header)
      %%--------------------------------------------------------------------
      autotest:mark(?LINE, "is_required/2 - 1"),
      true = is_required("foo", keylist:from_list([{"Require", ["foo", "bar"]}])),
  
      autotest:mark(?LINE, "is_required/2 - 2"),
      false = is_required("test", keylist:from_list([{"Require", ["foo", "bar"]}])),
  
      autotest:mark(?LINE, "is_required/2 - 3"),
      false = is_required("test", keylist:from_list([])),
      
  
      ok.
  