mirror of git://git.psyced.org/git/psyclpc
comm: added peek callback before checking is_binary
This commit is contained in:
parent
f2ad80c888
commit
f38eecb344
10
src/comm.c
10
src/comm.c
|
@ -3186,6 +3186,15 @@ get_message (char *buff, size_t *len)
|
||||||
inet_packets_in++;
|
inet_packets_in++;
|
||||||
inet_volume_in += l;
|
inet_volume_in += l;
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
// If we're receiving the first bytes call a peek function
|
||||||
|
// which could enable_binary depending on the content of the buffer
|
||||||
|
if (!ip->connected) {
|
||||||
|
put_c_n_string(++inter_sp, ip->text, l);
|
||||||
|
sapply(new_tabled("peek"), ip->ob, 1);
|
||||||
|
ip->connected = MY_TRUE;
|
||||||
|
}
|
||||||
|
|
||||||
/* Experimental support for
|
/* Experimental support for
|
||||||
* binary data streams, by fippo 2008
|
* binary data streams, by fippo 2008
|
||||||
*/
|
*/
|
||||||
|
@ -4007,6 +4016,7 @@ new_player ( object_t *ob, SOCKET_T new_socket
|
||||||
new_interactive->closing = MY_FALSE;
|
new_interactive->closing = MY_FALSE;
|
||||||
new_interactive->tn_enabled = MY_TRUE;
|
new_interactive->tn_enabled = MY_TRUE;
|
||||||
new_interactive->is_binary = MY_FALSE;
|
new_interactive->is_binary = MY_FALSE;
|
||||||
|
new_interactive->connected = MY_FALSE;
|
||||||
new_interactive->do_close = 0;
|
new_interactive->do_close = 0;
|
||||||
new_interactive->noecho = 0;
|
new_interactive->noecho = 0;
|
||||||
new_interactive->gobble_char = 0;
|
new_interactive->gobble_char = 0;
|
||||||
|
|
|
@ -176,6 +176,7 @@ struct interactive_s {
|
||||||
CBool closing; /* True when closing this socket. */
|
CBool closing; /* True when closing this socket. */
|
||||||
CBool tn_enabled; /* True: telnet machine enabled */
|
CBool tn_enabled; /* True: telnet machine enabled */
|
||||||
CBool is_binary; /* True: socket reads binary */
|
CBool is_binary; /* True: socket reads binary */
|
||||||
|
CBool connected; /* Set to true after first bytes arrived */
|
||||||
char do_close; /* Bitflags: Close this down; Proto-ERQ. */
|
char do_close; /* Bitflags: Close this down; Proto-ERQ. */
|
||||||
char noecho; /* Input mode bitflags */
|
char noecho; /* Input mode bitflags */
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue