anchor.diff:  
   %% erlang R15B03 has http_uri:parse/2 that does the job
   %% reimplement after support of R14B04 will be dropped
  -parse_hostname([_ | _] = Hostname) ->
  +parse_hostname(Hostname) ->
  +    do_parse_hostname(misc:trim(Hostname)).
  +
  +do_parse_hostname([]) ->
  +    throw({error, [<<"Hostname is required.">>]});
  +do_parse_hostname(Hostname) ->
       WithoutScheme = case string:str(Hostname, "://") of
                           0 ->
                               Hostname;
  
positive.code:             "127.0.0.1:6000",
              "host:port",
              "aaa:bb:cc",
              ""],
  
      ExpectedResults = [{"host",1025},
                         {error, [<<"The port number must be greater than 1023 and less than 65536.">>]},
  
negative.code:                        {"127.0.0.1", 6000},
                         {error, [<<"Port must be a number.">>]},
                         {error, [<<"The hostname is malformed.">>]},
                         {"host", 8091},
                         {error, [<<"Hostname is required.">>]}],
  
      Results = [(catch parse_hostname(X)) || X <- Urls],
  