diff options
Diffstat (limited to 'toxcore')
-rw-r--r-- | toxcore/Messenger.c | 21 | ||||
-rw-r--r-- | toxcore/Messenger.h | 11 | ||||
-rw-r--r-- | toxcore/tox.c | 25 | ||||
-rw-r--r-- | toxcore/tox.h | 11 |
4 files changed, 62 insertions, 6 deletions
diff --git a/toxcore/Messenger.c b/toxcore/Messenger.c index 9f75f89f..e3dcf2a1 100644 --- a/toxcore/Messenger.c +++ b/toxcore/Messenger.c | |||
@@ -533,6 +533,19 @@ int getname(Messenger *m, int32_t friendnumber, uint8_t *name) | |||
533 | return m->friendlist[friendnumber].name_length; | 533 | return m->friendlist[friendnumber].name_length; |
534 | } | 534 | } |
535 | 535 | ||
536 | int m_get_name_size(Messenger *m, int32_t friendnumber) | ||
537 | { | ||
538 | if (friend_not_valid(m, friendnumber)) | ||
539 | return -1; | ||
540 | |||
541 | return m->friendlist[friendnumber].name_length; | ||
542 | } | ||
543 | |||
544 | int m_get_self_name_size(Messenger *m) | ||
545 | { | ||
546 | return m->name_length; | ||
547 | } | ||
548 | |||
536 | int m_set_statusmessage(Messenger *m, uint8_t *status, uint16_t length) | 549 | int m_set_statusmessage(Messenger *m, uint8_t *status, uint16_t length) |
537 | { | 550 | { |
538 | if (length > MAX_STATUSMESSAGE_LENGTH) | 551 | if (length > MAX_STATUSMESSAGE_LENGTH) |
@@ -588,6 +601,14 @@ int m_copy_statusmessage(Messenger *m, int32_t friendnumber, uint8_t *buf, uint3 | |||
588 | return MIN(maxlen, m->friendlist[friendnumber].statusmessage_length); | 601 | return MIN(maxlen, m->friendlist[friendnumber].statusmessage_length); |
589 | } | 602 | } |
590 | 603 | ||
604 | /* return the size of friendnumber's user status. | ||
605 | * Guaranteed to be at most MAX_STATUSMESSAGE_LENGTH. | ||
606 | */ | ||
607 | int m_get_self_statusmessage_size(Messenger *m) | ||
608 | { | ||
609 | return m->statusmessage_length; | ||
610 | } | ||
611 | |||
591 | int m_copy_self_statusmessage(Messenger *m, uint8_t *buf, uint32_t maxlen) | 612 | int m_copy_self_statusmessage(Messenger *m, uint8_t *buf, uint32_t maxlen) |
592 | { | 613 | { |
593 | memset(buf, 0, maxlen); | 614 | memset(buf, 0, maxlen); |
diff --git a/toxcore/Messenger.h b/toxcore/Messenger.h index 8474bbe7..88e5e19d 100644 --- a/toxcore/Messenger.h +++ b/toxcore/Messenger.h | |||
@@ -370,6 +370,12 @@ uint16_t getself_name(Messenger *m, uint8_t *name); | |||
370 | */ | 370 | */ |
371 | int getname(Messenger *m, int32_t friendnumber, uint8_t *name); | 371 | int getname(Messenger *m, int32_t friendnumber, uint8_t *name); |
372 | 372 | ||
373 | /* return the length of name, including null on success. | ||
374 | * return -1 on failure. | ||
375 | */ | ||
376 | int m_get_name_size(Messenger *m, int32_t friendnumber); | ||
377 | int m_get_self_name_size(Messenger *m); | ||
378 | |||
373 | /* returns valid ip port of connected friend on success | 379 | /* returns valid ip port of connected friend on success |
374 | * returns zeroed out IP_Port on failure | 380 | * returns zeroed out IP_Port on failure |
375 | */ | 381 | */ |
@@ -384,10 +390,11 @@ IP_Port get_friend_ipport(Messenger *m, int32_t friendnumber); | |||
384 | int m_set_statusmessage(Messenger *m, uint8_t *status, uint16_t length); | 390 | int m_set_statusmessage(Messenger *m, uint8_t *status, uint16_t length); |
385 | int m_set_userstatus(Messenger *m, USERSTATUS status); | 391 | int m_set_userstatus(Messenger *m, USERSTATUS status); |
386 | 392 | ||
387 | /* return the length of friendnumber's status message, including null. | 393 | /* return the length of friendnumber's status message, including null on success. |
388 | * Pass it into malloc. | 394 | * return -1 on failure. |
389 | */ | 395 | */ |
390 | int m_get_statusmessage_size(Messenger *m, int32_t friendnumber); | 396 | int m_get_statusmessage_size(Messenger *m, int32_t friendnumber); |
397 | int m_get_self_statusmessage_size(Messenger *m); | ||
391 | 398 | ||
392 | /* Copy friendnumber's status message into buf, truncating if size is over maxlen. | 399 | /* Copy friendnumber's status message into buf, truncating if size is over maxlen. |
393 | * Get the size you need to allocate from m_get_statusmessage_size. | 400 | * Get the size you need to allocate from m_get_statusmessage_size. |
diff --git a/toxcore/tox.c b/toxcore/tox.c index ae824697..f91879ea 100644 --- a/toxcore/tox.c +++ b/toxcore/tox.c | |||
@@ -210,6 +210,21 @@ int tox_get_name(Tox *tox, int32_t friendnumber, uint8_t *name) | |||
210 | return getname(m, friendnumber, name); | 210 | return getname(m, friendnumber, name); |
211 | } | 211 | } |
212 | 212 | ||
213 | /* returns the length of name on success. | ||
214 | * returns -1 on failure. | ||
215 | */ | ||
216 | int tox_get_name_size(Tox *tox, int32_t friendnumber) | ||
217 | { | ||
218 | Messenger *m = tox; | ||
219 | return m_get_name_size(m, friendnumber); | ||
220 | } | ||
221 | |||
222 | int tox_get_self_name_size(Tox *tox) | ||
223 | { | ||
224 | Messenger *m = tox; | ||
225 | return m_get_self_name_size(m); | ||
226 | } | ||
227 | |||
213 | /* Set our user status; | 228 | /* Set our user status; |
214 | * you are responsible for freeing status after. | 229 | * you are responsible for freeing status after. |
215 | * | 230 | * |
@@ -227,8 +242,8 @@ int tox_set_user_status(Tox *tox, TOX_USERSTATUS status) | |||
227 | return m_set_userstatus(m, status); | 242 | return m_set_userstatus(m, status); |
228 | } | 243 | } |
229 | 244 | ||
230 | /* return the length of friendnumber's status message, including null. | 245 | /* returns the length of status message on success. |
231 | * Pass it into malloc. | 246 | * returns -1 on failure. |
232 | */ | 247 | */ |
233 | int tox_get_status_message_size(Tox *tox, int32_t friendnumber) | 248 | int tox_get_status_message_size(Tox *tox, int32_t friendnumber) |
234 | { | 249 | { |
@@ -236,6 +251,12 @@ int tox_get_status_message_size(Tox *tox, int32_t friendnumber) | |||
236 | return m_get_statusmessage_size(m, friendnumber); | 251 | return m_get_statusmessage_size(m, friendnumber); |
237 | } | 252 | } |
238 | 253 | ||
254 | int tox_get_self_status_message_size(Tox *tox) | ||
255 | { | ||
256 | Messenger *m = tox; | ||
257 | return m_get_self_statusmessage_size(m, friendnumber); | ||
258 | } | ||
259 | |||
239 | /* Copy friendnumber's status message into buf, truncating if size is over maxlen. | 260 | /* Copy friendnumber's status message into buf, truncating if size is over maxlen. |
240 | * Get the size you need to allocate from m_get_statusmessage_size. | 261 | * Get the size you need to allocate from m_get_statusmessage_size. |
241 | * The self variant will copy our own status message. | 262 | * The self variant will copy our own status message. |
diff --git a/toxcore/tox.h b/toxcore/tox.h index 348ef6e5..17bd4e1a 100644 --- a/toxcore/tox.h +++ b/toxcore/tox.h | |||
@@ -223,6 +223,12 @@ uint16_t tox_get_self_name(Tox *tox, uint8_t *name); | |||
223 | */ | 223 | */ |
224 | int tox_get_name(Tox *tox, int32_t friendnumber, uint8_t *name); | 224 | int tox_get_name(Tox *tox, int32_t friendnumber, uint8_t *name); |
225 | 225 | ||
226 | /* returns the length of name on success. | ||
227 | * returns -1 on failure. | ||
228 | */ | ||
229 | int tox_get_name_size(Tox *tox, int32_t friendnumber); | ||
230 | int tox_get_self_name_size(Tox *tox); | ||
231 | |||
226 | /* Set our user status. | 232 | /* Set our user status. |
227 | * You are responsible for freeing status after. | 233 | * You are responsible for freeing status after. |
228 | * | 234 | * |
@@ -234,10 +240,11 @@ int tox_get_name(Tox *tox, int32_t friendnumber, uint8_t *name); | |||
234 | int tox_set_status_message(Tox *tox, uint8_t *status, uint16_t length); | 240 | int tox_set_status_message(Tox *tox, uint8_t *status, uint16_t length); |
235 | int tox_set_user_status(Tox *tox, TOX_USERSTATUS userstatus); | 241 | int tox_set_user_status(Tox *tox, TOX_USERSTATUS userstatus); |
236 | 242 | ||
237 | /* return the length of friendnumber's status message. | 243 | /* returns the length of status message on success. |
238 | * Pass it into malloc | 244 | * returns -1 on failure. |
239 | */ | 245 | */ |
240 | int tox_get_status_message_size(Tox *tox, int32_t friendnumber); | 246 | int tox_get_status_message_size(Tox *tox, int32_t friendnumber); |
247 | int tox_get_self_status_message_size(Tox *tox); | ||
241 | 248 | ||
242 | /* Copy friendnumber's status message into buf, truncating if size is over maxlen. | 249 | /* Copy friendnumber's status message into buf, truncating if size is over maxlen. |
243 | * Get the size you need to allocate from m_get_statusmessage_size. | 250 | * Get the size you need to allocate from m_get_statusmessage_size. |