anchor.diff:              ERROR
       catch
           C : E : S when (C =:= error) andalso (E =:= notsup) ->
  -            %% This is just a placeholder for the future!
               %% This means we are on windows, and should
               %% call the windows specific functions:
               %%    get_interface_info
               %%    get_ip_addr_table
               %%    get_adapters_addresses
  -            erlang:raise(C, E, S)
  +            try win_getifaddrs(Filter)
  +            catch
  +                _WC:_WE:_WS ->
  +                    d("do_getifaddrs -> catched: "
  +                      "~n   WC: ~p"
  +                      "~n   WE: ~p"
  +                      "~n   WS: ~p", [_WC, _WE, _WS]),
  +                    erlang:raise(C, E, S)
  +            end
       end.
   
   getifaddrs_filter_map(all) ->
  
positive.code:         Result ->
              Result
      catch
          error : notsup : Stack ->
              %% This is *most likely* Windows, so try that.
              %% If not (another catch), raise the original catched error.
              try win_name2index(Name)
              catch
                  _:_:_ ->
                      erlang:raise(error, notsup, Stack)
              end
      end.
  -else.
  
negative.code:         Result ->
              Result
      catch
          C : E : S when (C =:= error) andalso (E =:= notsup) ->
              %% This is *most likely* Windows, so try that.
              %% If not (another catch), raise the original catched error.
              try win_index2name(Idx)
              catch
                  _:_:_ ->
                      erlang:raise(C, E, S)
              end
      end.
  -else.
  