anchor.diff:  		     "~n   Type: ~w",
   		     [Reason, VarOid, Value, ASN1Type]),
   	    throw(error)
  -    end;
  -make_varbind({VarOid, ASN1Type, Value}) ->
  -    case snmpa_agent:make_value_a_correct_value(Value, ASN1Type, undef) of
  -	{value, Type, Val} ->
  -	    #varbind{oid          = VarOid,
  -                     variabletype = Type,
  -                     value        = Val};
  -	{error, Reason} -> 
  -	    user_err("snmpa_trap: Invalid value: ~w"
  -		     "~n   Oid:  ~w"
  -		     "~n   Val:  ~w"
  -		     "~n   Type: ~w",
  -		     [Reason, VarOid, Value, ASN1Type]),
  -	    throw(error)
       end.
   
   process_oid(truncate, Oid) ->
       case lists:reverse(Oid) of
           [0 | RevRestOid] ->
  -            lists:revse(RevRestOid);
  +            lists:reverse(RevRestOid);
           _ ->
               Oid
       end;
  
positive.code: 		     [ErrorStatus, ErrorIndex, Varbinds]),
  	    throw(error)
      end.
      
  make_varbind(Varbind) when is_record(Varbind, varbind) ->
      Varbind;
  make_varbind({Process, #varbind{oid = Oid} = VB}) ->
      VB#varbind{oid = process_oid(Process, Oid)};
  make_varbind({Process, {VarOid, ASN1Type, Value}}) ->
  
negative.code: 	 varbinds     = Vbs}.
  
  make_varbind_list(Varbinds) ->
      OVarbinds = order(Varbinds),
      {VariablesWithValueAndType, VariablesWithType} = split_variables(OVarbinds),
      V    = get_values(VariablesWithType),
      Vars = lists:append([V, VariablesWithValueAndType]),
      [make_varbind(Var) || Var <- unorder(lists:keysort(1, Vars))].
  
  
  