aboutsummarylogtreecommitdiffstats
path: root/portfolio.c
diff options
context:
space:
mode:
authorAntony Kellermann2018-07-25 17:49:44 -0400
committerAntony Kellermann2018-07-25 17:49:44 -0400
commit8e6ef6d757df7f361e1a5c2ad1d1ccf18616bc01 (patch)
treee5bde06f15f3729e5a9cce54845223cef2d9531c /portfolio.c
parent1a3686a43418c4739e7d1d7e9c23f113baf9e5da (diff)
downloadaur-8e6ef6d757df7f361e1a5c2ad1d1ccf18616bc01.tar.gz
Replaced manual info_array allocs with new function
Diffstat (limited to 'portfolio.c')
-rw-r--r--portfolio.c11
1 files changed, 3 insertions, 8 deletions
diff --git a/portfolio.c b/portfolio.c
index 51959b95be3d..caa9a31783b4 100644
--- a/portfolio.c
+++ b/portfolio.c
@@ -144,20 +144,15 @@ Info_Array* portfolio_info_array_init_from_portfolio_string(String* pString) {
RETNULL_MSG("Your portfolio is empty.")
Json* jobj = json_tokener_parse(pString->data);
- if (json_object_array_length(jobj) == 0) { // If empty array
+ size_t length = json_object_array_length(jobj);
+ if (length == 0) { // If empty array
json_object_put(jobj);
RETNULL_MSG("Your portfolio is empty.");
}
- Info_Array* portfolio_data = api_info_array_init();
- portfolio_data->length = json_object_array_length(jobj);
- portfolio_data->array = malloc(sizeof(Info*) * portfolio_data->length);
- pointer_alloc_check(portfolio_data->array);
- portfolio_data->totals = api_info_init();
- strcpy(portfolio_data->totals->symbol, "TOTALS");
+ Info_Array* portfolio_data = api_info_array_init_from_length(length);
portfolio_data->totals->total_spent = 0;
for (size_t i = 0; i < portfolio_data->length; i++) {
- portfolio_data->array[i] = api_info_init();
strcpy(portfolio_data->array[i]->symbol,
json_object_get_string(json_object_object_get(json_object_array_get_idx(jobj, i),
"Symbol")));