anchor.diff:  		     [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}}) ->
  
positive.code: 		     "~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);
          _ ->
              Oid
      end;
  
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))].
  
  
  