@@ -78,7 +78,7 @@ namespace Natives
7878 // native AmxVariant:var_addr(VariantTag:str);
7979 AMX_DEFINE_NATIVE_TAG (var_addr, 1 , cell)
8080 {
81- decltype (variants::pool)::ref_container * var;
81+ std::shared_ptr< decltype (variants::pool)::ref_container> var;
8282 if (!variants::pool.get_by_id (params[1 ], var) && var != nullptr ) amx_LogicError (errors::pointer_invalid, " variant" , params[1 ]);
8383 if (var == nullptr )
8484 {
@@ -88,33 +88,33 @@ namespace Natives
8888 {
8989 amx_LogicError (errors::operation_not_supported, " variant" );
9090 }
91- variants::pool.set_cache (* var);
91+ variants::pool.set_cache (var);
9292 return variants::pool.get_relative_address (amx, *var);
9393 }
9494
9595 // native ConstAmxVariant:var_addr_const(ConstVariantTag:str);
9696 AMX_DEFINE_NATIVE_TAG (var_addr_const, 1 , cell)
9797 {
98- decltype (variants::pool)::ref_container * var;
98+ std::shared_ptr< decltype (variants::pool)::ref_container> var;
9999 if (!variants::pool.get_by_id (params[1 ], var) && var != nullptr ) amx_LogicError (errors::pointer_invalid, " variant" , params[1 ]);
100100 if (var == nullptr )
101101 {
102102 return variants::pool.get_null_address (amx);
103103 }
104- variants::pool.set_cache (* var);
104+ variants::pool.set_cache (var);
105105 return variants::pool.get_relative_address (amx, *var);
106106 }
107107
108108 // native AmxVariantBuffer:var_buf_addr(VariantTag:str);
109109 AMX_DEFINE_NATIVE_TAG (var_buf_addr, 1 , cell)
110110 {
111- decltype (variants::pool)::ref_container * var;
111+ std::shared_ptr< decltype (variants::pool)::ref_container> var;
112112 if (!variants::pool.get_by_id (params[1 ], var)) amx_LogicError (errors::pointer_invalid, " variant" , params[1 ]);
113113 if (var == nullptr || (*var)->is_cell ())
114114 {
115115 amx_LogicError (errors::operation_not_supported, " variant" );
116116 }
117- variants::pool.set_cache (* var);
117+ variants::pool.set_cache (var);
118118 return variants::pool.get_relative_address (amx, *var);
119119 }
120120
0 commit comments