1
0
mirror of https://github.com/Tha14/toxic.git synced 2024-07-01 17:27:45 +02:00

code cleanup/bug fixes

This commit is contained in:
Jfreegman 2013-09-08 03:18:34 -04:00
parent 5b2e7bb7d2
commit 9798dd6b95
4 changed files with 50 additions and 56 deletions

View File

@ -121,9 +121,7 @@ static void chat_onStatusMessageChange(ToxWindow *self, int num, uint8_t *status
return;
StatusBar *statusbar = (StatusBar *) self->s;
if (strncmp(status, "Online", strlen(status))) /* Ignore default "Online" message */
snprintf(statusbar->statusmsg, sizeof(statusbar->statusmsg), "%s", status);
snprintf(statusbar->statusmsg, sizeof(statusbar->statusmsg), "%s", status);
}
/* check that the string has one non-space character */
@ -298,7 +296,7 @@ void execute(ToxWindow *self, ChatContext *ctx, Tox *m, char *cmd)
wattroff(ctx->history, COLOR_PAIR(CYAN));
uint8_t selfname[TOX_MAX_NAME_LENGTH];
tox_getselfname(m, selfname, sizeof(selfname));
tox_getselfname(m, selfname, TOX_MAX_NAME_LENGTH);
wattron(ctx->history, COLOR_PAIR(YELLOW));
wprintw(ctx->history, "* %s %s\n", selfname, action);
@ -313,7 +311,6 @@ void execute(ToxWindow *self, ChatContext *ctx, Tox *m, char *cmd)
else if (!strncmp(cmd, "/status ", strlen("/status "))) {
char *status = strchr(cmd, ' ');
uint8_t *msg;
if (status == NULL) {
wprintw(ctx->history, "Invalid syntax.\n");
@ -355,7 +352,7 @@ void execute(ToxWindow *self, ChatContext *ctx, Tox *m, char *cmd)
tox_set_userstatus(m, status_kind);
prompt_update_status(self->prompt, status_kind);
msg = strchr(status, ' ');
uint8_t *msg = strchr(status, ' ');
if (msg != NULL) {
msg++;
tox_set_statusmessage(m, msg, strlen(msg) + 1);
@ -373,8 +370,7 @@ void execute(ToxWindow *self, ChatContext *ctx, Tox *m, char *cmd)
}
else if (!strncmp(cmd, "/nick ", strlen("/nick "))) {
uint8_t *nick;
nick = strchr(cmd, ' ');
uint8_t *nick = strchr(cmd, ' ');
if (nick == NULL) {
wprintw(ctx->history, "Invalid syntax.\n");
@ -454,11 +450,9 @@ static void chat_onDraw(ToxWindow *self, Tox *m)
wprintw(statusbar->topline, "[Offline]");
}
if (statusbar->statusmsg[0]) {
wattron(statusbar->topline, A_BOLD);
wprintw(statusbar->topline, " | %s", statusbar->statusmsg);
wattroff(statusbar->topline, A_BOLD);
}
wattron(statusbar->topline, A_BOLD);
wprintw(statusbar->topline, " | %s", statusbar->statusmsg);
wattroff(statusbar->topline, A_BOLD);
wprintw(statusbar->topline, "\n");
@ -475,13 +469,12 @@ static void chat_onInit(ToxWindow *self, Tox *m)
/* Init statusbar info */
StatusBar *statusbar = (StatusBar *) self->s;
statusbar->status = tox_get_userstatus(m, self->friendnum);
statusbar->is_online = tox_friendstatus(m, self->friendnum) == TOX_FRIEND_ONLINE;
statusbar->is_online = tox_get_friend_connectionstatus(m, self->friendnum) == 1;
statusbar->max_len = x;
char statusmsg[TOX_MAX_STATUSMESSAGE_LENGTH] = {'\0'};
uint8_t statusmsg[TOX_MAX_STATUSMESSAGE_LENGTH] = {'\0'};
tox_copy_statusmessage(m, self->friendnum, statusmsg, TOX_MAX_STATUSMESSAGE_LENGTH);
if (strncmp(statusmsg, "Online", strlen(statusmsg)))
snprintf(statusbar->statusmsg, sizeof(statusbar->statusmsg), "%s", statusmsg);
snprintf(statusbar->statusmsg, sizeof(statusbar->statusmsg), "%s", statusmsg);
/* Init subwindows */
ChatContext *ctx = (ChatContext *) self->x;

View File

@ -198,7 +198,7 @@ static void friendlist_onDraw(ToxWindow *self, Tox *m)
wprintw(self->window, " > ");
else
wprintw(self->window, " ");
if (friends[i].online) {
TOX_USERSTATUS status = friends[i].status;
int colour = WHITE;

View File

@ -19,7 +19,7 @@ extern int store_data(Tox *m, char *path);
uint8_t pending_requests[MAX_STR_SIZE][TOX_CLIENT_ID_SIZE]; // XXX
uint8_t num_requests = 0; // XXX
static char prompt_buf[MAX_STR_SIZE] = {0};
static char prompt_buf[MAX_STR_SIZE] = {'\0'};
static int prompt_buf_pos = 0;
/* commands */
@ -258,18 +258,21 @@ void cmd_clear(ToxWindow *self, Tox *m, int argc, char **argv)
void cmd_connect(ToxWindow *self, Tox *m, int argc, char **argv)
{
tox_IP_Port dht;
char *ip, *port, *key;
/* check arguments */
if (argc != 3) {
wprintw(self->window, "Invalid syntax.\n");
return;
}
ip = argv[1];
port = argv[2];
key = argv[3];
tox_IP_Port dht;
char *ip = argv[1];
char *port = argv[2];
char *key = argv[3];
if (!ip || !port || !key) {
wprintw(self->window, "Invalid syntax.\n");
return;
}
if (atoi(port) == 0) {
wprintw(self->window, "Invalid syntax.\n");
@ -325,16 +328,14 @@ void cmd_help(ToxWindow *self, Tox *m, int argc, char **argv)
void cmd_msg(ToxWindow *self, Tox *m, int argc, char **argv)
{
char *id, *msg;
/* check arguments */
if (argc != 2) {
wprintw(self->window, "Invalid syntax.\n");
return;
}
id = argv[1];
msg = argv[2];
char *id = argv[1];
uint8_t *msg = argv[2];
if (id == NULL || msg == NULL) {
wprintw(self->window, "Invalid syntax.\n");
@ -343,7 +344,7 @@ void cmd_msg(ToxWindow *self, Tox *m, int argc, char **argv)
msg[strlen(++msg)-1] = L'\0';
if (tox_sendmessage(m, atoi(id), (uint8_t *) msg, strlen(msg) + 1) == 0)
if (tox_sendmessage(m, atoi(id), msg, strlen(msg) + 1) == 0)
wprintw(self->window, "Failed to send message.\n");
else
wprintw(self->window, "Message successfully sent.\n");
@ -352,10 +353,11 @@ void cmd_msg(ToxWindow *self, Tox *m, int argc, char **argv)
void cmd_myid(ToxWindow *self, Tox *m, int argc, char **argv)
{
char id[TOX_FRIEND_ADDRESS_SIZE * 2 + 1] = {0};
size_t i;
uint8_t address[TOX_FRIEND_ADDRESS_SIZE];
tox_getaddress(m, address);
size_t i;
for (i = 0; i < TOX_FRIEND_ADDRESS_SIZE; ++i) {
char xx[3];
snprintf(xx, sizeof(xx), "%02X", address[i] & 0xff);
@ -367,15 +369,13 @@ void cmd_myid(ToxWindow *self, Tox *m, int argc, char **argv)
void cmd_nick(ToxWindow *self, Tox *m, int argc, char **argv)
{
uint8_t *nick;
/* check arguments */
if (argc != 1) {
wprintw(self->window, "Invalid syntax.\n");
return;
}
nick = argv[1];
uint8_t *nick = argv[1];
if (nick == NULL) {
wprintw(self->window, "Invalid syntax.\n");
@ -393,14 +393,13 @@ void cmd_nick(ToxWindow *self, Tox *m, int argc, char **argv)
void cmd_status(ToxWindow *self, Tox *m, int argc, char **argv)
{
char *status, *status_text;
uint8_t *msg = NULL;
if (argc < 1 || argc > 2) {
wprintw(self->window, "Wrong number of arguments.\n");
return;
}
uint8_t *msg = NULL;
if (argc == 2) {
msg = argv[2];
@ -416,7 +415,7 @@ void cmd_status(ToxWindow *self, Tox *m, int argc, char **argv)
}
}
status = argv[1];
char *status = argv[1];
if (status == NULL) {
wprintw(self->window, "Invalid syntax.\n");
@ -454,18 +453,18 @@ void cmd_note(ToxWindow *self, Tox *m, int argc, char **argv)
return;
}
if (argv[1] == NULL) {
uint8_t *msg = argv[1];
if (msg == NULL) {
wprintw(self->window, "Invalid syntax.\n");
return;
}
if (argv[1][0] != '\"') {
if (msg[0] != '\"') {
wprintw(self->window, "Messages must be enclosed in quotes.\n");
return;
}
uint8_t *msg;
msg = argv[1];
msg[strlen(++msg)-1] = L'\0';
tox_set_statusmessage(m, msg, strlen(msg) + 1);
@ -475,7 +474,7 @@ void cmd_note(ToxWindow *self, Tox *m, int argc, char **argv)
static void execute(ToxWindow *self, Tox *m, char *u_cmd)
{
int newlines = 0;
char cmd[MAX_STR_SIZE] = {0};
char cmd[MAX_STR_SIZE] = {'\0'};
int i;
for (i = 0; i < strlen(prompt_buf); ++i) {
@ -511,7 +510,7 @@ static void execute(ToxWindow *self, Tox *m, char *u_cmd)
else if (cmd[i] == '\"') {
while (cmd[++i] != '\"') {
if (cmd[i] == '\0') {
wprintw(self->window, "Invalid command: did you forget a closing \"?\n");
wprintw(self->window, "Invalid command: did you forget an opening or closing \"?\n");
return;
}
}
@ -536,18 +535,22 @@ static void execute(ToxWindow *self, Tox *m, char *u_cmd)
}
/* no input */
if (!cmdargs[0])
if (!cmdargs[0]) {
free(cmdargs);
return;
}
/* match input to command list */
for (i = 0; i < NUM_COMMANDS; i++) {
if (!strcmp(cmdargs[0], commands[i].name)) {
(commands[i].func)(self, m, numargs, cmdargs);
free(cmdargs);
return;
}
}
/* no match */
free(cmdargs);
wprintw(self->window, "Invalid command.\n");
}
@ -634,11 +637,9 @@ static void prompt_onDraw(ToxWindow *self, Tox *m)
wprintw(statusbar->topline, "[Offline]");
}
if (statusbar->statusmsg[0]) {
wattron(statusbar->topline, A_BOLD);
wprintw(statusbar->topline, " | %s", statusbar->statusmsg);
wattroff(statusbar->topline, A_BOLD);
}
wattron(statusbar->topline, A_BOLD);
wprintw(statusbar->topline, " | %s", statusbar->statusmsg);
wattroff(statusbar->topline, A_BOLD);
wprintw(statusbar->topline, "\n");
@ -670,13 +671,13 @@ void prompt_init_statusbar(ToxWindow *self, Tox *m)
statusbar->max_len = x;
uint8_t nick[TOX_MAX_NAME_LENGTH] = {'\0'};
tox_getselfname(m, (uint8_t *) &nick, TOX_MAX_NAME_LENGTH);
tox_getselfname(m, nick, TOX_MAX_NAME_LENGTH);
snprintf(statusbar->nick, sizeof(statusbar->nick), "%s", nick);
uint8_t statusmsg[TOX_MAX_STATUSMESSAGE_LENGTH];
tox_copy_self_statusmessage(m, statusmsg, TOX_MAX_STATUSMESSAGE_LENGTH);
if (strncmp(statusmsg, "Online", strlen(statusmsg)))
snprintf(statusbar->statusmsg, sizeof(statusbar->statusmsg), "%s", statusmsg);
/* temporary until statusmessage saving works */
uint8_t *statusmsg = "Toxing on Toxic v0.2.0";
// tox_copy_self_statusmessage(m, statusmsg, TOX_MAX_STATUSMESSAGE_LENGTH);
snprintf(statusbar->statusmsg, sizeof(statusbar->statusmsg), "%s", statusmsg);
/* Init statusbar subwindow */
statusbar->topline = subwin(self->window, 2, x, 0, 0);

View File

@ -32,7 +32,7 @@ void on_request(uint8_t *public_key, uint8_t *data, uint16_t length, void *userd
void on_connectionchange(Tox *m, int friendnumber, uint8_t status, void *userdata)
{
uint8_t nick[TOX_MAX_NAME_LENGTH] = {0};
uint8_t nick[TOX_MAX_NAME_LENGTH] = {'\0'};
tox_getname(m, friendnumber, (uint8_t *) &nick);
if (!nick[0])