mirror of
https://github.com/Tha14/toxic.git
synced 2024-11-23 06:13:03 +01:00
wrap tox_get_name in function that truncates name if it's too long
This commit is contained in:
parent
e74212cb9e
commit
442f68cd31
23
src/chat.c
23
src/chat.c
@ -156,9 +156,7 @@ static void chat_onMessage(ToxWindow *self, Tox *m, int32_t num, const char *msg
|
|||||||
ChatContext *ctx = self->chatwin;
|
ChatContext *ctx = self->chatwin;
|
||||||
|
|
||||||
char nick[TOX_MAX_NAME_LENGTH];
|
char nick[TOX_MAX_NAME_LENGTH];
|
||||||
int n_len = tox_get_name(m, num, (uint8_t *) nick);
|
get_nick_truncate(m, nick, num);
|
||||||
n_len = MIN(n_len, TOXIC_MAX_NAME_LENGTH - 1);
|
|
||||||
nick[n_len] = '\0';
|
|
||||||
|
|
||||||
char timefrmt[TIME_STR_SIZE];
|
char timefrmt[TIME_STR_SIZE];
|
||||||
get_time_str(timefrmt, sizeof(timefrmt));
|
get_time_str(timefrmt, sizeof(timefrmt));
|
||||||
@ -200,9 +198,7 @@ static void chat_onAction(ToxWindow *self, Tox *m, int32_t num, const char *acti
|
|||||||
ChatContext *ctx = self->chatwin;
|
ChatContext *ctx = self->chatwin;
|
||||||
|
|
||||||
char nick[TOX_MAX_NAME_LENGTH];
|
char nick[TOX_MAX_NAME_LENGTH];
|
||||||
int n_len = tox_get_name(m, num, (uint8_t *) nick);
|
get_nick_truncate(m, nick, num);
|
||||||
n_len = MIN(n_len, TOXIC_MAX_NAME_LENGTH - 1);
|
|
||||||
nick[n_len] = '\0';
|
|
||||||
|
|
||||||
char timefrmt[TIME_STR_SIZE];
|
char timefrmt[TIME_STR_SIZE];
|
||||||
get_time_str(timefrmt, sizeof(timefrmt));
|
get_time_str(timefrmt, sizeof(timefrmt));
|
||||||
@ -430,11 +426,10 @@ static void chat_onGroupInvite(ToxWindow *self, Tox *m, int32_t friendnumber, co
|
|||||||
if (self->num != friendnumber)
|
if (self->num != friendnumber)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
char name[TOX_MAX_NAME_LENGTH];
|
|
||||||
char msg[MAX_STR_SIZE + TOX_MAX_NAME_LENGTH];
|
char msg[MAX_STR_SIZE + TOX_MAX_NAME_LENGTH];
|
||||||
int n_len = tox_get_name(m, friendnumber, (uint8_t *) name);
|
|
||||||
n_len = MIN(n_len, TOXIC_MAX_NAME_LENGTH - 1);
|
char name[TOX_MAX_NAME_LENGTH];
|
||||||
name[n_len] = '\0';
|
get_nick_truncate(m, name, friendnumber);
|
||||||
|
|
||||||
snprintf(msg, sizeof(msg), "%s has invited you to a group chat.", name);
|
snprintf(msg, sizeof(msg), "%s has invited you to a group chat.", name);
|
||||||
line_info_add(self, NULL, NULL, NULL, msg, SYS_MSG, 0, 0);
|
line_info_add(self, NULL, NULL, NULL, msg, SYS_MSG, 0, 0);
|
||||||
@ -895,9 +890,7 @@ static void chat_onInit(ToxWindow *self, Tox *m)
|
|||||||
statusbar->statusmsg_len = s_len;
|
statusbar->statusmsg_len = s_len;
|
||||||
|
|
||||||
char nick[TOX_MAX_NAME_LENGTH];
|
char nick[TOX_MAX_NAME_LENGTH];
|
||||||
int n_len = tox_get_name(m, self->num, (uint8_t *) nick);
|
int n_len = get_nick_truncate(m, nick, self->num);
|
||||||
n_len = MIN(n_len, TOXIC_MAX_NAME_LENGTH - 1);
|
|
||||||
nick[n_len] = '\0';
|
|
||||||
snprintf(statusbar->nick, sizeof(statusbar->nick), "%s", nick);
|
snprintf(statusbar->nick, sizeof(statusbar->nick), "%s", nick);
|
||||||
statusbar->nick_len = n_len;
|
statusbar->nick_len = n_len;
|
||||||
|
|
||||||
@ -966,9 +959,7 @@ ToxWindow new_chat(Tox *m, int32_t friendnum)
|
|||||||
#endif /* _SUPPORT_AUDIO */
|
#endif /* _SUPPORT_AUDIO */
|
||||||
|
|
||||||
char nick[TOX_MAX_NAME_LENGTH];
|
char nick[TOX_MAX_NAME_LENGTH];
|
||||||
int n_len = tox_get_name(m, friendnum, (uint8_t *) nick);
|
int n_len = get_nick_truncate(m, nick, friendnum);
|
||||||
n_len = MIN(n_len, TOXIC_MAX_NAME_LENGTH - 1);
|
|
||||||
nick[n_len] = '\0';
|
|
||||||
chat_set_window_name(&ret, nick, n_len);
|
chat_set_window_name(&ret, nick, n_len);
|
||||||
|
|
||||||
ChatContext *chatwin = calloc(1, sizeof(ChatContext));
|
ChatContext *chatwin = calloc(1, sizeof(ChatContext));
|
||||||
|
@ -106,9 +106,7 @@ static void friendlist_onMessage(ToxWindow *self, Tox *m, int32_t num, const cha
|
|||||||
friends[num].chatwin = add_window(m, new_chat(m, friends[num].num));
|
friends[num].chatwin = add_window(m, new_chat(m, friends[num].num));
|
||||||
} else {
|
} else {
|
||||||
char nick[TOX_MAX_NAME_LENGTH];
|
char nick[TOX_MAX_NAME_LENGTH];
|
||||||
int n_len = tox_get_name(m, num, (uint8_t *) nick);
|
get_nick_truncate(m, nick, num);
|
||||||
n_len = MIN(n_len, TOXIC_MAX_NAME_LENGTH - 1);
|
|
||||||
nick[n_len] = '\0';
|
|
||||||
|
|
||||||
char timefrmt[TIME_STR_SIZE];
|
char timefrmt[TIME_STR_SIZE];
|
||||||
get_time_str(timefrmt, sizeof(timefrmt));
|
get_time_str(timefrmt, sizeof(timefrmt));
|
||||||
@ -183,15 +181,13 @@ void friendlist_onFriendAdded(ToxWindow *self, Tox *m, int32_t num, bool sort)
|
|||||||
update_friend_last_online(i, tox_get_last_online(m, i));
|
update_friend_last_online(i, tox_get_last_online(m, i));
|
||||||
|
|
||||||
char tempname[TOX_MAX_NAME_LENGTH] = {0};
|
char tempname[TOX_MAX_NAME_LENGTH] = {0};
|
||||||
int len = tox_get_name(m, num, (uint8_t *) tempname);
|
int len = get_nick_truncate(m, tempname, num);
|
||||||
|
|
||||||
if (len == -1 || tempname[0] == '\0') {
|
if (len == -1 || tempname[0] == '\0') {
|
||||||
strcpy(friends[i].name, UNKNOWN_NAME);
|
strcpy(friends[i].name, UNKNOWN_NAME);
|
||||||
friends[i].namelength = strlen(UNKNOWN_NAME);
|
friends[i].namelength = strlen(UNKNOWN_NAME);
|
||||||
} else { /* Enforce toxic's maximum name length */
|
} else { /* Enforce toxic's maximum name length */
|
||||||
len = MIN(len, TOXIC_MAX_NAME_LENGTH - 1);
|
|
||||||
friends[i].namelength = len;
|
friends[i].namelength = len;
|
||||||
tempname[len] = '\0';
|
|
||||||
snprintf(friends[i].name, sizeof(friends[i].name), "%s", tempname);
|
snprintf(friends[i].name, sizeof(friends[i].name), "%s", tempname);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -221,9 +217,7 @@ static void friendlist_onFileSendRequest(ToxWindow *self, Tox *m, int32_t num, u
|
|||||||
tox_file_send_control(m, num, 1, filenum, TOX_FILECONTROL_KILL, 0, 0);
|
tox_file_send_control(m, num, 1, filenum, TOX_FILECONTROL_KILL, 0, 0);
|
||||||
|
|
||||||
char nick[TOX_MAX_NAME_LENGTH];
|
char nick[TOX_MAX_NAME_LENGTH];
|
||||||
int n_len = tox_get_name(m, num, (uint8_t *) nick);
|
get_nick_truncate(m, nick, num);
|
||||||
n_len = MIN(n_len, TOXIC_MAX_NAME_LENGTH - 1);
|
|
||||||
nick[n_len] = '\0';
|
|
||||||
|
|
||||||
char msg[MAX_STR_SIZE];
|
char msg[MAX_STR_SIZE];
|
||||||
snprintf(msg, sizeof(msg), "* File transfer from %s failed: too many windows are open.", nick);
|
snprintf(msg, sizeof(msg), "* File transfer from %s failed: too many windows are open.", nick);
|
||||||
@ -244,9 +238,7 @@ static void friendlist_onGroupInvite(ToxWindow *self, Tox *m, int32_t num, const
|
|||||||
friends[num].chatwin = add_window(m, new_chat(m, friends[num].num));
|
friends[num].chatwin = add_window(m, new_chat(m, friends[num].num));
|
||||||
} else {
|
} else {
|
||||||
char nick[TOX_MAX_NAME_LENGTH];
|
char nick[TOX_MAX_NAME_LENGTH];
|
||||||
int n_len = tox_get_name(m, num, (uint8_t *) nick);
|
get_nick_truncate(m, nick, num);
|
||||||
n_len = MIN(n_len, TOXIC_MAX_NAME_LENGTH - 1);
|
|
||||||
nick[n_len] = '\0';
|
|
||||||
|
|
||||||
char msg[MAX_STR_SIZE];
|
char msg[MAX_STR_SIZE];
|
||||||
snprintf(msg, sizeof(msg), "* Group chat invite from %s failed: too many windows are open.", nick);
|
snprintf(msg, sizeof(msg), "* Group chat invite from %s failed: too many windows are open.", nick);
|
||||||
@ -570,10 +562,7 @@ static void friendlist_onAv(ToxWindow *self, ToxAv *av, int call_index)
|
|||||||
friends[id].chatwin = add_window(m, new_chat(m, friends[id].num));
|
friends[id].chatwin = add_window(m, new_chat(m, friends[id].num));
|
||||||
} else {
|
} else {
|
||||||
char nick[TOX_MAX_NAME_LENGTH];
|
char nick[TOX_MAX_NAME_LENGTH];
|
||||||
int n_len = tox_get_name(m, id, (uint8_t *) nick);
|
get_nick_truncate(m, nick, friends[id].num);
|
||||||
|
|
||||||
n_len = MIN(n_len, TOXIC_MAX_NAME_LENGTH - 1);
|
|
||||||
nick[n_len] = '\0';
|
|
||||||
|
|
||||||
char msg[MAX_STR_SIZE];
|
char msg[MAX_STR_SIZE];
|
||||||
snprintf(msg, sizeof(msg), "Audio action from: %s!", nick);
|
snprintf(msg, sizeof(msg), "Audio action from: %s!", nick);
|
||||||
|
@ -224,3 +224,13 @@ void str_to_lower(char *str)
|
|||||||
for (i = 0; str[i]; ++i)
|
for (i = 0; str[i]; ++i)
|
||||||
str[i] = tolower(str[i]);
|
str[i] = tolower(str[i]);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/* puts friendnum's nick in buf, truncating at TOXIC_MAX_NAME_LENGTH if necessary.
|
||||||
|
Returns nick len on success, -1 on failure */
|
||||||
|
int get_nick_truncate(Tox *m, char *buf, int friendnum)
|
||||||
|
{
|
||||||
|
int len = tox_get_name(m, friendnum, (uint8_t *) buf);
|
||||||
|
len = MIN(len, TOXIC_MAX_NAME_LENGTH - 1);
|
||||||
|
buf[len] = '\0';
|
||||||
|
return len;
|
||||||
|
}
|
||||||
|
@ -85,4 +85,8 @@ void get_file_name(char *namebuf, const char *pathname);
|
|||||||
/* converts str to all lowercase */
|
/* converts str to all lowercase */
|
||||||
void str_to_lower(char *str);
|
void str_to_lower(char *str);
|
||||||
|
|
||||||
|
/* puts friendnum's nick in buf, truncating at TOXIC_MAX_NAME_LENGTH if necessary.
|
||||||
|
Returns nick len on success, -1 on failure */
|
||||||
|
int get_nick_truncate(Tox *m, char *buf, int friendnum);
|
||||||
|
|
||||||
#endif /* #define _misc_tools_h */
|
#endif /* #define _misc_tools_h */
|
||||||
|
11
src/prompt.c
11
src/prompt.c
@ -270,16 +270,11 @@ static void prompt_onConnectionChange(ToxWindow *self, Tox *m, int32_t friendnum
|
|||||||
|
|
||||||
ChatContext *ctx = self->chatwin;
|
ChatContext *ctx = self->chatwin;
|
||||||
|
|
||||||
char nick[TOX_MAX_NAME_LENGTH] = {0};
|
char nick[TOX_MAX_NAME_LENGTH] = {0}; /* stop removing this initiation */
|
||||||
int n_len = tox_get_name(m, friendnum, (uint8_t *) nick);
|
get_nick_truncate(m, nick, friendnum);
|
||||||
n_len = MIN(n_len, TOXIC_MAX_NAME_LENGTH - 1);
|
|
||||||
|
|
||||||
if (!nick[0]) {
|
if (!nick[0])
|
||||||
snprintf(nick, sizeof(nick), "%s", UNKNOWN_NAME);
|
snprintf(nick, sizeof(nick), "%s", UNKNOWN_NAME);
|
||||||
n_len = strlen(UNKNOWN_NAME);
|
|
||||||
}
|
|
||||||
|
|
||||||
nick[n_len] = '\0';
|
|
||||||
|
|
||||||
char timefrmt[TIME_STR_SIZE];
|
char timefrmt[TIME_STR_SIZE];
|
||||||
get_time_str(timefrmt, sizeof(timefrmt));
|
get_time_str(timefrmt, sizeof(timefrmt));
|
||||||
|
Loading…
Reference in New Issue
Block a user