mirror of
https://github.com/Tha14/toxic.git
synced 2024-11-22 16:13:02 +01:00
code cleanup/bug fixes
This commit is contained in:
parent
5b2e7bb7d2
commit
9798dd6b95
27
src/chat.c
27
src/chat.c
@ -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;
|
||||
|
@ -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;
|
||||
|
75
src/prompt.c
75
src/prompt.c
@ -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);
|
||||
|
@ -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])
|
||||
|
Loading…
Reference in New Issue
Block a user