------------------------------------------------------------------------- RecDataSetFromString -------------------------------------------------------------------------
| 346 | // RecDataSetFromString |
| 347 | //------------------------------------------------------------------------- |
| 348 | bool |
| 349 | RecDataSetFromString(RecDataT data_type, RecData *data_dst, const char *data_string) |
| 350 | { |
| 351 | RecData data_src; |
| 352 | |
| 353 | switch (data_type) { |
| 354 | case RECD_INT: |
| 355 | data_src.rec_int = ink_atoi64(data_string); |
| 356 | break; |
| 357 | case RECD_FLOAT: |
| 358 | data_src.rec_float = atof(data_string); |
| 359 | break; |
| 360 | case RECD_STRING: |
| 361 | if (data_string && (strlen(data_string) == 4) && strncasecmp((data_string), "NULL", 4) == 0) { |
| 362 | data_src.rec_string = nullptr; |
| 363 | } else { |
| 364 | // It's OK to cast away the const here, because RecDataSet will copy the string. |
| 365 | data_src.rec_string = const_cast<char *>(data_string); |
| 366 | } |
| 367 | break; |
| 368 | case RECD_COUNTER: |
| 369 | data_src.rec_counter = ink_atoi64(data_string); |
| 370 | break; |
| 371 | default: |
| 372 | ink_assert(!"Unexpected RecD type"); |
| 373 | return false; |
| 374 | } |
| 375 | |
| 376 | return RecDataSet(data_type, data_dst, &data_src); |
| 377 | } |
| 378 | //------------------------------------------------------------------------- |
| 379 | // Basic functions to help setting a record value properly. All this functionality is originally from WebMgmtUtils. |
| 380 | // TODO: we can work out something different. |
no test coverage detected