MCPcopy Create free account
hub / github.com/alliedmodders/sourcemod / GetStructString

Function GetStructString

extensions/structs/natives.cpp:291–319  ·  view source on GitHub ↗

native GetStructString(Handle:struct, const String:member[], String:value[], maxlen);

Source from the content-addressed store, hash-verified

289
290//native GetStructString(Handle:struct, const String:member[], String:value[], maxlen);
291static cell_t GetStructString(IPluginContext *pContext, const cell_t *params)
292{
293 Handle_t hndl = static_cast<Handle_t>(params[1]);
294 HandleError err;
295 HandleSecurity sec;
296
297 sec.pOwner = NULL;
298 sec.pIdentity = myself->GetIdentity();
299
300 StructHandle *pHandle;
301 if ((err = g_pHandleSys->ReadHandle(hndl, g_StructHandle, &sec, (void **)&pHandle))
302 != HandleError_None)
303 {
304 return pContext->ThrowNativeError("Invalid struct handle %x (error %d)", hndl, err);
305 }
306
307 char *member;
308 pContext->LocalToString(params[2], &member);
309
310 char *string;
311 if (!pHandle->GetString(member, &string))
312 {
313 return pContext->ThrowNativeError("Invalid member, or incorrect data type");
314 }
315
316 pContext->StringToLocal(params[3], params[4], string);
317
318 return 1;
319}
320
321//native SetStructString(Handle:struct, const String:member[], String:value[]);
322static cell_t SetStructString(IPluginContext *pContext, const cell_t *params)

Callers

nothing calls this directly

Calls 3

GetIdentityMethod · 0.45
ReadHandleMethod · 0.45
GetStringMethod · 0.45

Tested by

no test coverage detected