mirror of
https://github.com/Tha14/toxic.git
synced 2024-11-23 14:03:03 +01:00
get unix time more efficiently
This commit is contained in:
parent
c2d417c78b
commit
d29836845c
@ -221,7 +221,7 @@ void cmd_sendfile(WINDOW *window, ToxWindow *self, Tox *m, int argc, char (*argv
|
|||||||
file_senders[i].file = file_to_send;
|
file_senders[i].file = file_to_send;
|
||||||
file_senders[i].filenum = (uint8_t) filenum;
|
file_senders[i].filenum = (uint8_t) filenum;
|
||||||
file_senders[i].friendnum = self->num;
|
file_senders[i].friendnum = self->num;
|
||||||
file_senders[i].timestamp = (uint64_t) time(NULL);
|
file_senders[i].timestamp = get_unix_time();
|
||||||
file_senders[i].piecelen = fread(file_senders[i].nextpiece, 1,
|
file_senders[i].piecelen = fread(file_senders[i].nextpiece, 1,
|
||||||
tox_file_data_size(m, self->num), file_to_send);
|
tox_file_data_size(m, self->num), file_to_send);
|
||||||
|
|
||||||
|
@ -71,7 +71,7 @@ void do_file_senders(Tox *m)
|
|||||||
uint8_t filenum = file_senders[i].filenum;
|
uint8_t filenum = file_senders[i].filenum;
|
||||||
int friendnum = file_senders[i].friendnum;
|
int friendnum = file_senders[i].friendnum;
|
||||||
FILE *fp = file_senders[i].file;
|
FILE *fp = file_senders[i].file;
|
||||||
uint64_t current_time = (uint64_t) time(NULL);
|
uint64_t current_time = get_unix_time();
|
||||||
|
|
||||||
/* If file transfer has timed out kill transfer and send kill control */
|
/* If file transfer has timed out kill transfer and send kill control */
|
||||||
if (timed_out(file_senders[i].timestamp, current_time, TIMEOUT_FILESENDER)) {
|
if (timed_out(file_senders[i].timestamp, current_time, TIMEOUT_FILESENDER)) {
|
||||||
|
@ -346,6 +346,8 @@ static void friendlist_onDraw(ToxWindow *self, Tox *m)
|
|||||||
int x2, y2;
|
int x2, y2;
|
||||||
getmaxyx(self->window, y2, x2);
|
getmaxyx(self->window, y2, x2);
|
||||||
|
|
||||||
|
uint64_t cur_time = get_unix_time();
|
||||||
|
|
||||||
bool fix_statuses = x2 != self->x; /* true if window x axis has changed */
|
bool fix_statuses = x2 != self->x; /* true if window x axis has changed */
|
||||||
|
|
||||||
wattron(self->window, COLOR_PAIR(CYAN));
|
wattron(self->window, COLOR_PAIR(CYAN));
|
||||||
@ -454,15 +456,11 @@ static void friendlist_onDraw(ToxWindow *self, Tox *m)
|
|||||||
if (f_selected)
|
if (f_selected)
|
||||||
wattron(self->window, A_BOLD);
|
wattron(self->window, A_BOLD);
|
||||||
|
|
||||||
wprintw(self->window, "%s\n", friends[f].name);
|
wprintw(self->window, "%s", friends[f].name);
|
||||||
|
|
||||||
if (f_selected)
|
if (f_selected)
|
||||||
wattroff(self->window, A_BOLD);
|
wattroff(self->window, A_BOLD);
|
||||||
|
|
||||||
// wprintw(self->window, "Last seen ");
|
|
||||||
// uint64_t last_seen = friends[f].last_online;
|
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -550,6 +550,7 @@ int main(int argc, char *argv[])
|
|||||||
prompt_init_statusbar(prompt, m);
|
prompt_init_statusbar(prompt, m);
|
||||||
|
|
||||||
while (true) {
|
while (true) {
|
||||||
|
update_unix_time();
|
||||||
do_toxic(m, prompt);
|
do_toxic(m, prompt);
|
||||||
usleep(10000);
|
usleep(10000);
|
||||||
}
|
}
|
||||||
|
@ -33,6 +33,27 @@
|
|||||||
|
|
||||||
extern ToxWindow *prompt;
|
extern ToxWindow *prompt;
|
||||||
|
|
||||||
|
static uint64_t current_unix_time;
|
||||||
|
|
||||||
|
void update_unix_time(void)
|
||||||
|
{
|
||||||
|
current_unix_time = (uint64_t) time(NULL);
|
||||||
|
}
|
||||||
|
|
||||||
|
uint64_t get_unix_time(void)
|
||||||
|
{
|
||||||
|
return current_unix_time;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Get the current local time */
|
||||||
|
struct tm *get_time(void)
|
||||||
|
{
|
||||||
|
struct tm *timeinfo;
|
||||||
|
uint64_t t = get_unix_time();
|
||||||
|
timeinfo = localtime(&t);
|
||||||
|
return timeinfo;
|
||||||
|
}
|
||||||
|
|
||||||
/* XXX: FIX */
|
/* XXX: FIX */
|
||||||
unsigned char *hex_string_to_bin(char hex_string[])
|
unsigned char *hex_string_to_bin(char hex_string[])
|
||||||
{
|
{
|
||||||
@ -54,16 +75,6 @@ unsigned char *hex_string_to_bin(char hex_string[])
|
|||||||
return val;
|
return val;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Get the current local time */
|
|
||||||
struct tm *get_time(void)
|
|
||||||
{
|
|
||||||
struct tm *timeinfo;
|
|
||||||
time_t now;
|
|
||||||
time(&now);
|
|
||||||
timeinfo = localtime(&now);
|
|
||||||
return timeinfo;
|
|
||||||
}
|
|
||||||
|
|
||||||
/* Prints the time to given window */
|
/* Prints the time to given window */
|
||||||
void print_time(WINDOW *window)
|
void print_time(WINDOW *window)
|
||||||
{
|
{
|
||||||
|
@ -26,12 +26,18 @@
|
|||||||
/* convert a hex string to binary */
|
/* convert a hex string to binary */
|
||||||
unsigned char *hex_string_to_bin(char hex_string[]);
|
unsigned char *hex_string_to_bin(char hex_string[]);
|
||||||
|
|
||||||
/* get the current local time */
|
/* get the current unix time */
|
||||||
struct tm *get_time(void);
|
uint64_t get_unix_time(void);
|
||||||
|
|
||||||
/* Prints the time to given window */
|
/* Prints the time to given window */
|
||||||
void print_time(WINDOW *window);
|
void print_time(WINDOW *window);
|
||||||
|
|
||||||
|
/* get the current local time */
|
||||||
|
struct tm *get_time(void);
|
||||||
|
|
||||||
|
/* updates current unix time (should be run once per do_toxic loop) */
|
||||||
|
void update_unix_time(void);
|
||||||
|
|
||||||
/* Returns 1 if the string is empty, 0 otherwise */
|
/* Returns 1 if the string is empty, 0 otherwise */
|
||||||
int string_is_empty(char *string);
|
int string_is_empty(char *string);
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user