aboutsummarylogtreecommitdiffstats
diff options
context:
space:
mode:
authorAntony Kellermann2018-06-14 10:58:20 -0400
committerAntony Kellermann2018-06-14 10:58:20 -0400
commit76489c8693cb1c1a4cea5e3787c9723eaeb58553 (patch)
tree45640d2dbe7cb1beafff6897d35972d32eba6df0
parentc1d7a1a5d8d71356cb3aeea4040f37477c85bd1c (diff)
downloadaur-76489c8693cb1c1a4cea5e3787c9723eaeb58553.tar.gz
Changed iex intraday to use extended price if newer. Changed unix time to seconds instead of millisecond
-rw-r--r--api.c11
-rw-r--r--info.c2
2 files changed, 10 insertions, 3 deletions
diff --git a/api.c b/api.c
index 108a7fffb926..9a3b02f993de 100644
--- a/api.c
+++ b/api.c
@@ -119,8 +119,15 @@ void* iex_store_quote(void* vpInfo) {
return NULL;
}
- symbol_info->price = json_object_get_double(json_object_object_get(jobj, "latestPrice"));
- symbol_info->intraday_time = json_object_get_int64(json_object_object_get(jobj, "latestUpdate"));
+ // If latest price is in extended hours
+ if (json_object_get_int64(json_object_object_get(jobj, "extendedPriceTime")) >
+ json_object_get_int64(json_object_object_get(jobj, "latestUpdate"))) {
+ symbol_info->price = json_object_get_double(json_object_object_get(jobj, "extendedPrice"));
+ symbol_info->intraday_time = json_object_get_int64(json_object_object_get(jobj, "extendedPriceTime")) / 1000;
+ } else {
+ symbol_info->price = json_object_get_double(json_object_object_get(jobj, "latestPrice"));
+ symbol_info->intraday_time = json_object_get_int64(json_object_object_get(jobj, "latestUpdate")) / 1000;
+ }
symbol_info->price_last_close = json_object_get_double(json_object_object_get(jobj, "previousClose"));
if (symbol_info->price_last_close == 0) // May be 0 over weekend
symbol_info->price_last_close = EMPTY;
diff --git a/info.c b/info.c
index 96ebbcda8f93..8242d4c98a22 100644
--- a/info.c
+++ b/info.c
@@ -62,7 +62,7 @@ void interface_print(const char* symbol) {
void header_printw(WINDOW* window, Info* symbol_info) {
if (symbol_info->intraday_time != EMPTY) {
char time_str[32];
- time_t time = symbol_info->intraday_time / 1000; // divide into second instead of milliseconds
+ time_t time = symbol_info->intraday_time; // divide into second instead of milliseconds
struct tm* ts = localtime(&time);
strftime(time_str, 32, "%F %T", ts);
mvwprintw(window, 0, 0, "%s", time_str);