native GetStructString(Handle:struct, const String:member[], String:value[], maxlen);
| 289 | |
| 290 | //native GetStructString(Handle:struct, const String:member[], String:value[], maxlen); |
| 291 | static 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[]); |
| 322 | static cell_t SetStructString(IPluginContext *pContext, const cell_t *params) |
nothing calls this directly
no test coverage detected