diff options
-rw-r--r-- | api.c | 8 | ||||
-rw-r--r-- | api.h | 9 |
2 files changed, 17 insertions, 0 deletions
@@ -638,6 +638,14 @@ Ref_Data* iex_get_valid_symbols(void) { return pRef_Data; } +Info* info_array_get_info_from_symbol(const Info_Array* pInfo_Array, const char* symbol) { + for (size_t i = 0; i < pInfo_Array->length; i++) + if (strcmp(symbol, pInfo_Array->array[i]->symbol) == 0) + return pInfo_Array->array[i]; + + return NULL; +} + void api_ref_data_destroy(Ref_Data** phRef_Data) { if (*phRef_Data == NULL) return; @@ -336,6 +336,15 @@ void info_array_store_totals(Info_Array* pInfo_Array); Ref_Data* iex_get_valid_symbols(void); /** + * Searches through an Info_Array and returns a ponter to the Info which has the same symbol as + * the function's argument. If not found, returns NULL. + * @param pInfo_Array the Info_Array to search + * @param symbol the symbol to match + * @return valid Info* or NULL if not found + */ +Info* info_array_get_info_from_symbol(const Info_Array* pInfo_Array, const char* symbol); + +/** * Destroys Ref_Data object and frees memory. Sets the pointer of the Ref_Data to NULL * @param phRef_Data the Ref_Data to destroy */ |