file_id is a 32byte identifier that can be used by users to identify
file tranfers across core/client restarts in order to resume broken
file tranfers.
In avatar tranfers it corresponds to the hash of the avatar.
Added tox_file_get_file_id() function to api to obtain the file_id
of an ongoing file transfer.
If not set, core will generate a random one.
#if 0 the content of toxav/msi.c : int stringify_message(MSIMessage
*msg, char *dest)
This function has no effect and does not seem to be used for actively
waiting.
Fix various other style errors, reduce scope when possible, avoid
redundant writes, clarify operator priorities, etc.
Main changes:
1. Strings no longer need to be NULL terminated.
2. tox_get_friend_id is now named tox_get_friend_number.
3. The friend request callback function is now (Tox *tox, uint8_t *,
uint8_t *, uint16_t, void *), the Tox object pointer has been added to
it.
Crash stuff:
nTox.c:
- do_refresh(): avoid crashes (input a "%" and the client goes "boom!", send someone a string with embedded "%" and see him blow up...)
Other stuff:
toxcore: tox.h (doc.)/network.c (code):
- networking_wait_prepare(): return -1 if lenptr was NULL and therefore not settable
nTox.c:
- fraddr_to_str(): function to convert a TOX_FRIEND_ADDRESS into a segmented (and therefore line-breakable) string
- print_friendlist(): print index of friend on name line, print id on 2nd line
- command /f: skip spaces (and +) inside a friend id
- command /r (new): "/r #" to remove a friend
- main(): reduce cpu consumption if we're not currently sending files
On deleting the last peer, it's just a delete.
On deleting any other peer, the last peer is moved into that space, gaining a different number.
Print that detail where appropriate.
tox.*, Messenger.*, group_chats.*:
- expand interface of callback by peernumber/change
groupchats.c:
- call callback in addpeer/delpeer/setnick with peernumber and flag
nTox.c:
- print_groupchatpeers(): print as many names on a line as possible, not one peer per line
- print_groupnamelistchange(): only print the change, if possible (i.e. "new peer", "peer's new name")
- added command "/p" to print the list of peers
/cf # rsp. /cg # sets, /cr resets target
Also reformatted display of sent group message slightly to look less beta-ish.
Then using "#<num>" for group number vs. "<num>" for friend/peer numbers.
Also changed to a slightly different message on people without name.
group_chats.*:
- group_send_nick() to send own name
- setnick() to store a received name
Messenger.c:
- group_send_nick() before group_sendmessage() (in regular intervals, to inform new peers)
nTox.c:
- print_groupmessage(): on error or on a name of length zero the result of tox_group_peername() isn't null-terminated, catch that
- multiple places: tox_getname() doesn't terminate the string, make sure nTox does
- format_message():
. - renamed to print_formatted_message()
. - changed semantics: does the new_line() itself, saves caller from freeing the buffer (which no caller did)
. - changed signature: now also prints the friend's name when sending
. - intern: date is only printed once, the message line gets only time
- print_message(): enforce null termination
- main():
. - setlocale() to init locale (for date/time printing)
. - own name: ensure null termination
Messenger.c:
- notify of friend name change *before* the old name is overwritten