anchor.diff:  	end.
   
   -spec find_subscriber(Subscriber :: string() | binary()) ->
  -	Result :: {ok, Password :: binary(), Attributes :: binary() | [byte()],
  -	Balance :: integer()} | {error, Reason :: term()}.
  -%% @doc Look up a subscriber and return the password and attributes assigned.
  -%%
  +	Result :: {ok, Password :: binary(), Attributes :: binary(),
  +	Balance :: integer()} | {error, Reason :: not_found | term()}.
  +%% @doc Look up an entry in the subscriber tabe.
  +%%
  +find_subscriber(Subscriber) when is_list(Subscriber) ->
  +	find_subscriber(list_to_binary(Subscriber));
   find_subscriber(Subscriber) when is_binary(Subscriber) ->
  -	find_subscriber(binary_to_list(Subscriber));
  -find_subscriber(Subscriber) when is_list(Subscriber) ->
   	F = fun() ->
   				mnesia:read(subscriber, Subscriber, read)
   	end,
  
positive.code: add_subscriber(Subscriber, Password, Attributes) ->
  	add_subscriber(Subscriber, Password, Attributes, 0).
  
  -spec add_subscriber(Subscriber :: string(), Password :: string() | binary(),
  		Attributes :: radius:attributes() | binary() | [byte()],
  		Balance :: non_neg_integer()) ->
  		ok | {error, Reason :: term()}.
  %% @doc Create an entry in the subscriber table.
  
negative.code: 	Bin = radius_attributes:codec(Attributes),
  	add_subscriber(Subscriber, Password, Bin, Balance);
  add_subscriber(Subscriber, Password, Attributes, Balance)
  		when is_binary(Subscriber), is_binary(Password),
  		is_binary(Attributes), is_integer(Balance) ->
  	F1 = fun(F, <<C, Rest/binary>>)
  					when (((C >= $a) and (C =< $z)) or ((C >= $2) and (C =< $9))),
  