From 873736df5c9e29ff286fce86d4ad1193e94c9bc4 Mon Sep 17 00:00:00 2001 From: Sean Qureshi Date: Fri, 2 Aug 2013 16:44:32 -0700 Subject: [PATCH 01/12] Adds timestamp to toxic, fixes issue #217 --- chat.c | 36 ++++++++++++++++++++++++++++++++++-- 1 file changed, 34 insertions(+), 2 deletions(-) diff --git a/chat.c b/chat.c index 854d381..10837aa 100644 --- a/chat.c +++ b/chat.c @@ -7,6 +7,7 @@ #include #include #include +#include #include "../../core/Messenger.h" #include "../../core/network.h" @@ -26,11 +27,15 @@ typedef struct { extern void fix_name(uint8_t* name); - static void chat_onMessage(ToxWindow* self, int num, uint8_t* msg, uint16_t len) { ChatContext* ctx = (ChatContext*) self->x; uint8_t nick[MAX_NAME_LENGTH] = {0}; + time_t now; + time(&now); + struct tm * timeinfo; + timeinfo = localtime(&now); + if(ctx->friendnum != num) return; @@ -42,10 +47,21 @@ static void chat_onMessage(ToxWindow* self, int num, uint8_t* msg, uint16_t len) fix_name(msg); fix_name(nick); + int inthour = timeinfo->tm_hour; + int intmin = timeinfo->tm_min; + char min[2]; + char hour[2]; + sprintf(hour,"%d",inthour); + sprintf(min,"%d",intmin); + + wattron(ctx->history, COLOR_PAIR(2)); + wprintw(ctx->history,"%s",hour); + wprintw(ctx->history,":%s ",min); + wattron(ctx->history, COLOR_PAIR(4)); + wprintw(ctx->history, "%s: ", now); wattron(ctx->history, COLOR_PAIR(4)); wprintw(ctx->history, "%s: ", nick); wattroff(ctx->history, COLOR_PAIR(4)); - wprintw(ctx->history, "%s\n", msg); self->blink = true; @@ -74,6 +90,11 @@ static void chat_onStatusChange(ToxWindow* self, int num, uint8_t* status, uint1 static void chat_onKey(ToxWindow* self, int key) { ChatContext* ctx = (ChatContext*) self->x; + time_t now; + time(&now); + struct tm * timeinfo; + timeinfo = localtime(&now); + if(isprint(key)) { if(ctx->pos != sizeof(ctx->line)-1) { @@ -82,6 +103,17 @@ static void chat_onKey(ToxWindow* self, int key) { } } else if(key == '\n') { + + int inthour = timeinfo->tm_hour; //Pretty bad, but it gets the job done + int intmin = timeinfo->tm_min; + char min[2]; + char hour[2]; + sprintf(hour,"%d",inthour); + sprintf(min,"%d",intmin); + + wattron(ctx->history, COLOR_PAIR(2)); + wprintw(ctx->history,"%s",hour); + wprintw(ctx->history,":%s ",min); wattron(ctx->history, COLOR_PAIR(1)); wprintw(ctx->history, "you: ", ctx->line); wattroff(ctx->history, COLOR_PAIR(1)); From 6f331d6fcb273bd99a0e3fc0090c36e88d19e9ac Mon Sep 17 00:00:00 2001 From: Sean Qureshi Date: Fri, 2 Aug 2013 17:14:47 -0700 Subject: [PATCH 02/12] Fixed a bug with the minutes only being 1 character long when less than 10 --- chat.c | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) diff --git a/chat.c b/chat.c index 10837aa..50aa81b 100644 --- a/chat.c +++ b/chat.c @@ -52,7 +52,12 @@ static void chat_onMessage(ToxWindow* self, int num, uint8_t* msg, uint16_t len) char min[2]; char hour[2]; sprintf(hour,"%d",inthour); - sprintf(min,"%d",intmin); + if (intmin < 10) { + sprintf(min,"0%d",intmin); + } else { + sprintf(min,"%d",intmin); + } + wattron(ctx->history, COLOR_PAIR(2)); wprintw(ctx->history,"%s",hour); @@ -109,7 +114,11 @@ static void chat_onKey(ToxWindow* self, int key) { char min[2]; char hour[2]; sprintf(hour,"%d",inthour); - sprintf(min,"%d",intmin); + if (intmin < 10) { + sprintf(min,"0%d",intmin); + } else { + sprintf(min,"%d",intmin); + } wattron(ctx->history, COLOR_PAIR(2)); wprintw(ctx->history,"%s",hour); From 1b53b8ecc47546191f07fe876524471a7740fb44 Mon Sep 17 00:00:00 2001 From: Sean Qureshi Date: Fri, 2 Aug 2013 17:44:30 -0700 Subject: [PATCH 03/12] By popular demand, I made a patch to add seconds to the timestamp --- seconds.patch | 61 +++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 61 insertions(+) create mode 100644 seconds.patch diff --git a/seconds.patch b/seconds.patch new file mode 100644 index 0000000..d7ce33a --- /dev/null +++ b/seconds.patch @@ -0,0 +1,61 @@ +--- chat.c 2013-08-02 17:41:08.866583333 -0700 ++++ chat2.c 2013-08-02 17:38:13.672991322 -0700 +@@ -49,8 +49,10 @@ + + int inthour = timeinfo->tm_hour; + int intmin = timeinfo->tm_min; ++ int intsec = timeinfo->tm_sec; + char min[2]; + char hour[2]; ++ char sec[2]; + sprintf(hour,"%d",inthour); + if (intmin < 10) { + sprintf(min,"0%d",intmin); +@@ -58,10 +60,17 @@ + sprintf(min,"%d",intmin); + } + ++ if (intsec < 10) { ++ sprintf(sec,"0%d",intsec); ++ } else { ++ sprintf(sec,"%d",intsec); ++ } ++ + + wattron(ctx->history, COLOR_PAIR(2)); + wprintw(ctx->history,"%s",hour); +- wprintw(ctx->history,":%s ",min); ++ wprintw(ctx->history,":%s",min); ++ wprintw(ctx->history,":%s",sec); + wattron(ctx->history, COLOR_PAIR(4)); + wprintw(ctx->history, "%s: ", now); + wattron(ctx->history, COLOR_PAIR(4)); +@@ -111,8 +120,10 @@ + + int inthour = timeinfo->tm_hour; //Pretty bad, but it gets the job done + int intmin = timeinfo->tm_min; ++ int intsec = timeinfo ->tm_sec; + char min[2]; + char hour[2]; ++ char sec[2]; + sprintf(hour,"%d",inthour); + if (intmin < 10) { + sprintf(min,"0%d",intmin); +@@ -120,9 +131,16 @@ + sprintf(min,"%d",intmin); + } + ++ if (intsec < 10) { ++ sprintf(sec,"0%d",intsec); ++ } else { ++ sprintf(sec,"%d",intsec); ++ } ++ + wattron(ctx->history, COLOR_PAIR(2)); + wprintw(ctx->history,"%s",hour); +- wprintw(ctx->history,":%s ",min); ++ wprintw(ctx->history,":%s",min); ++ wprintw(ctx->history,":%s ",sec); + wattron(ctx->history, COLOR_PAIR(1)); + wprintw(ctx->history, "you: ", ctx->line); + wattroff(ctx->history, COLOR_PAIR(1)); From a938076f99a301a1604eceb4c0a58dec3902d903 Mon Sep 17 00:00:00 2001 From: Sean Qureshi Date: Fri, 2 Aug 2013 17:50:35 -0700 Subject: [PATCH 04/12] Moved PATCH.md to the toxic folder --- PATCH.md | 2 ++ 1 file changed, 2 insertions(+) create mode 100644 PATCH.md diff --git a/PATCH.md b/PATCH.md new file mode 100644 index 0000000..4af250f --- /dev/null +++ b/PATCH.md @@ -0,0 +1,2 @@ +Seconds.patch adds support for seconds to the timestamp in toxic. +To use seconds.patch run patch < seconds.patch while in the directory testing/toxic From 19ed6a4beaeba0f394560b1feec2008657d711dd Mon Sep 17 00:00:00 2001 From: Sean Qureshi Date: Fri, 2 Aug 2013 19:58:00 -0700 Subject: [PATCH 05/12] Removed the seconds patch, it breaks things --- PATCH.md | 2 -- seconds.patch | 61 --------------------------------------------------- 2 files changed, 63 deletions(-) delete mode 100644 PATCH.md delete mode 100644 seconds.patch diff --git a/PATCH.md b/PATCH.md deleted file mode 100644 index 4af250f..0000000 --- a/PATCH.md +++ /dev/null @@ -1,2 +0,0 @@ -Seconds.patch adds support for seconds to the timestamp in toxic. -To use seconds.patch run patch < seconds.patch while in the directory testing/toxic diff --git a/seconds.patch b/seconds.patch deleted file mode 100644 index d7ce33a..0000000 --- a/seconds.patch +++ /dev/null @@ -1,61 +0,0 @@ ---- chat.c 2013-08-02 17:41:08.866583333 -0700 -+++ chat2.c 2013-08-02 17:38:13.672991322 -0700 -@@ -49,8 +49,10 @@ - - int inthour = timeinfo->tm_hour; - int intmin = timeinfo->tm_min; -+ int intsec = timeinfo->tm_sec; - char min[2]; - char hour[2]; -+ char sec[2]; - sprintf(hour,"%d",inthour); - if (intmin < 10) { - sprintf(min,"0%d",intmin); -@@ -58,10 +60,17 @@ - sprintf(min,"%d",intmin); - } - -+ if (intsec < 10) { -+ sprintf(sec,"0%d",intsec); -+ } else { -+ sprintf(sec,"%d",intsec); -+ } -+ - - wattron(ctx->history, COLOR_PAIR(2)); - wprintw(ctx->history,"%s",hour); -- wprintw(ctx->history,":%s ",min); -+ wprintw(ctx->history,":%s",min); -+ wprintw(ctx->history,":%s",sec); - wattron(ctx->history, COLOR_PAIR(4)); - wprintw(ctx->history, "%s: ", now); - wattron(ctx->history, COLOR_PAIR(4)); -@@ -111,8 +120,10 @@ - - int inthour = timeinfo->tm_hour; //Pretty bad, but it gets the job done - int intmin = timeinfo->tm_min; -+ int intsec = timeinfo ->tm_sec; - char min[2]; - char hour[2]; -+ char sec[2]; - sprintf(hour,"%d",inthour); - if (intmin < 10) { - sprintf(min,"0%d",intmin); -@@ -120,9 +131,16 @@ - sprintf(min,"%d",intmin); - } - -+ if (intsec < 10) { -+ sprintf(sec,"0%d",intsec); -+ } else { -+ sprintf(sec,"%d",intsec); -+ } -+ - wattron(ctx->history, COLOR_PAIR(2)); - wprintw(ctx->history,"%s",hour); -- wprintw(ctx->history,":%s ",min); -+ wprintw(ctx->history,":%s",min); -+ wprintw(ctx->history,":%s ",sec); - wattron(ctx->history, COLOR_PAIR(1)); - wprintw(ctx->history, "you: ", ctx->line); - wattroff(ctx->history, COLOR_PAIR(1)); From 84aa9a9e3b7d6426f85689097d076999c05c8589 Mon Sep 17 00:00:00 2001 From: Sean Qureshi Date: Sat, 3 Aug 2013 01:52:13 -0700 Subject: [PATCH 06/12] Merged a change from a pull request, added a break Merged from https://github.com/greato/ProjectTox-Core --- prompt.c | 1 + 1 file changed, 1 insertion(+) diff --git a/prompt.c b/prompt.c index b0f8381..8536b94 100644 --- a/prompt.c +++ b/prompt.c @@ -141,6 +141,7 @@ static void execute(ToxWindow* self, char* cmd) { case -2: wprintw(self->window, "Please add a message to your request.\n"); case -3: + break; wprintw(self->window, "That appears to be your own ID.\n"); break; case -4: From 3e5b40c0db6a4f9ea54d1be27a03a4cb721e2736 Mon Sep 17 00:00:00 2001 From: Sean Qureshi Date: Sat, 3 Aug 2013 01:55:07 -0700 Subject: [PATCH 07/12] Added a break from a pull request Merged a change from https://github.com/greato/ProjectTox-Core --- prompt.c | 1 + 1 file changed, 1 insertion(+) diff --git a/prompt.c b/prompt.c index 484f590..e71f5f0 100644 --- a/prompt.c +++ b/prompt.c @@ -141,6 +141,7 @@ static void execute(ToxWindow* self, char* cmd) { case -2: wprintw(self->window, "Please add a message to your request.\n"); case -3: + break; wprintw(self->window, "That appears to be your own ID.\n"); break; case -4: From 77b7694c418c5770dfad4ed518ac19066ba980f5 Mon Sep 17 00:00:00 2001 From: Sean Qureshi Date: Sat, 3 Aug 2013 03:59:27 -0700 Subject: [PATCH 08/12] Fixed a segfault when recieving text --- chat.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/chat.c b/chat.c index 0e14a29..b835cf2 100644 --- a/chat.c +++ b/chat.c @@ -63,8 +63,6 @@ static void chat_onMessage(ToxWindow* self, int num, uint8_t* msg, uint16_t len) wprintw(ctx->history,"%s",hour); wprintw(ctx->history,":%s ",min); wattron(ctx->history, COLOR_PAIR(4)); - wprintw(ctx->history, "%s: ", now); - wattron(ctx->history, COLOR_PAIR(4)); wprintw(ctx->history, "%s: ", nick); wattroff(ctx->history, COLOR_PAIR(4)); wprintw(ctx->history, "%s\n", msg); @@ -109,17 +107,19 @@ static void chat_onKey(ToxWindow* self, int key) { } else if(key == '\n') { + printf("Get times to int"); int inthour = timeinfo->tm_hour; //Pretty bad, but it gets the job done int intmin = timeinfo->tm_min; char min[2]; char hour[2]; + printf("Turn to varible"); sprintf(hour,"%d",inthour); if (intmin < 10) { sprintf(min,"0%d",intmin); } else { sprintf(min,"%d",intmin); } - + printf("Display"); wattron(ctx->history, COLOR_PAIR(2)); wprintw(ctx->history,"%s",hour); wprintw(ctx->history,":%s ",min); From c571696c46f45dfc3a60a2f10c67b370143b6484 Mon Sep 17 00:00:00 2001 From: Sean Qureshi Date: Sat, 3 Aug 2013 04:10:47 -0700 Subject: [PATCH 09/12] Removed some useless code --- chat.c | 3 --- 1 file changed, 3 deletions(-) diff --git a/chat.c b/chat.c index b835cf2..19f5c97 100644 --- a/chat.c +++ b/chat.c @@ -107,19 +107,16 @@ static void chat_onKey(ToxWindow* self, int key) { } else if(key == '\n') { - printf("Get times to int"); int inthour = timeinfo->tm_hour; //Pretty bad, but it gets the job done int intmin = timeinfo->tm_min; char min[2]; char hour[2]; - printf("Turn to varible"); sprintf(hour,"%d",inthour); if (intmin < 10) { sprintf(min,"0%d",intmin); } else { sprintf(min,"%d",intmin); } - printf("Display"); wattron(ctx->history, COLOR_PAIR(2)); wprintw(ctx->history,"%s",hour); wprintw(ctx->history,":%s ",min); From bbffe1b8a38fefa2fe9cde09156b057d9dc6b63a Mon Sep 17 00:00:00 2001 From: Michael Kress Date: Sat, 3 Aug 2013 16:00:48 +0200 Subject: [PATCH 10/12] fixed printing time stamp in toxic --- chat.c | 34 ++++------------------------------ 1 file changed, 4 insertions(+), 30 deletions(-) diff --git a/chat.c b/chat.c index 19f5c97..ddf5923 100644 --- a/chat.c +++ b/chat.c @@ -47,21 +47,8 @@ static void chat_onMessage(ToxWindow* self, int num, uint8_t* msg, uint16_t len) fix_name(msg); fix_name(nick); - int inthour = timeinfo->tm_hour; - int intmin = timeinfo->tm_min; - char min[2]; - char hour[2]; - sprintf(hour,"%d",inthour); - if (intmin < 10) { - sprintf(min,"0%d",intmin); - } else { - sprintf(min,"%d",intmin); - } - - wattron(ctx->history, COLOR_PAIR(2)); - wprintw(ctx->history,"%s",hour); - wprintw(ctx->history,":%s ",min); + wprintw(ctx->history, "%02d:%02d ", timeinfo->tm_hour, timeinfo->tm_min); wattron(ctx->history, COLOR_PAIR(4)); wprintw(ctx->history, "%s: ", nick); wattroff(ctx->history, COLOR_PAIR(4)); @@ -106,24 +93,11 @@ static void chat_onKey(ToxWindow* self, int key) { } } else if(key == '\n') { - - int inthour = timeinfo->tm_hour; //Pretty bad, but it gets the job done - int intmin = timeinfo->tm_min; - char min[2]; - char hour[2]; - sprintf(hour,"%d",inthour); - if (intmin < 10) { - sprintf(min,"0%d",intmin); - } else { - sprintf(min,"%d",intmin); - } wattron(ctx->history, COLOR_PAIR(2)); - wprintw(ctx->history,"%s",hour); - wprintw(ctx->history,":%s ",min); + wprintw(ctx->history, "%02d:%02d ", timeinfo->tm_hour, timeinfo->tm_min); wattron(ctx->history, COLOR_PAIR(1)); wprintw(ctx->history, "you: ", ctx->line); wattroff(ctx->history, COLOR_PAIR(1)); - wprintw(ctx->history, "%s\n", ctx->line); if(m_sendmessage(ctx->friendnum, (uint8_t*) ctx->line, strlen(ctx->line)+1) < 0) { @@ -140,7 +114,7 @@ static void chat_onKey(ToxWindow* self, int key) { ctx->line[--ctx->pos] = '\0'; } } - + } static void chat_onDraw(ToxWindow* self) { @@ -188,7 +162,7 @@ ToxWindow new_chat(int friendnum) { uint8_t nick[MAX_NAME_LENGTH] = {0}; getname(friendnum, (uint8_t*) &nick); fix_name(nick); - + snprintf(ret.title, sizeof(ret.title), "[%s (%d)]", nick, friendnum); ChatContext* x = calloc(1, sizeof(ChatContext)); From f3ee6207770f700cd9161a9bdad16a2366388af1 Mon Sep 17 00:00:00 2001 From: Michael Kress Date: Sat, 3 Aug 2013 16:26:23 +0200 Subject: [PATCH 11/12] added seconds to time stamp in toxic --- chat.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/chat.c b/chat.c index ddf5923..7cae1c0 100644 --- a/chat.c +++ b/chat.c @@ -48,7 +48,7 @@ static void chat_onMessage(ToxWindow* self, int num, uint8_t* msg, uint16_t len) fix_name(nick); wattron(ctx->history, COLOR_PAIR(2)); - wprintw(ctx->history, "%02d:%02d ", timeinfo->tm_hour, timeinfo->tm_min); + wprintw(ctx->history, "%02d:%02d:%02d ", timeinfo->tm_hour, timeinfo->tm_min, timeinfo->tm_sec); wattron(ctx->history, COLOR_PAIR(4)); wprintw(ctx->history, "%s: ", nick); wattroff(ctx->history, COLOR_PAIR(4)); @@ -94,7 +94,7 @@ static void chat_onKey(ToxWindow* self, int key) { } else if(key == '\n') { wattron(ctx->history, COLOR_PAIR(2)); - wprintw(ctx->history, "%02d:%02d ", timeinfo->tm_hour, timeinfo->tm_min); + wprintw(ctx->history, "%02d:%02d:%02d ", timeinfo->tm_hour, timeinfo->tm_min, timeinfo->tm_sec); wattron(ctx->history, COLOR_PAIR(1)); wprintw(ctx->history, "you: ", ctx->line); wattroff(ctx->history, COLOR_PAIR(1)); From 49fddd21be2360488bafbfb28d54cfadd2c63e02 Mon Sep 17 00:00:00 2001 From: Sean Qureshi Date: Sat, 3 Aug 2013 11:51:40 -0700 Subject: [PATCH 12/12] Removed an early break --- prompt.c | 1 - 1 file changed, 1 deletion(-) diff --git a/prompt.c b/prompt.c index e80bdab..1db6088 100644 --- a/prompt.c +++ b/prompt.c @@ -142,7 +142,6 @@ static void execute(ToxWindow* self, char* cmd) { wprintw(self->window, "Please add a message to your request.\n"); break; case -3: - break; wprintw(self->window, "That appears to be your own ID.\n"); break; case -4: