From 337ad0032c91293ccd5cc431d38aa2fde05edd94 Mon Sep 17 00:00:00 2001 From: Paul Mangan Date: Fri, 27 Jun 2003 07:22:51 +0000 Subject: [PATCH] sync with 0.9.2cvs7 --- ChangeLog | 5 +++++ ChangeLog.claws | 5 +++++ ChangeLog.jp | 5 +++++ configure.ac | 2 +- src/common/session.c | 14 ++++++++++---- 5 files changed, 26 insertions(+), 5 deletions(-) diff --git a/ChangeLog b/ChangeLog index 4068a0193..fe4a37745 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,8 @@ +2003-06-27 + + * src/session.c: session_read_data_cb(): clear Session::read_data_buf + before calling callbacks. + 2003-06-26 * src/socket.c: made socket connection protocol independent. diff --git a/ChangeLog.claws b/ChangeLog.claws index 7e1401ab2..92ed9b183 100644 --- a/ChangeLog.claws +++ b/ChangeLog.claws @@ -1,3 +1,8 @@ +2003-06-27 [paul] 0.9.0claws67 + + * sync with 0.9.2cvs7 + see ChangeLog 2003-06-27 + 2003-06-26 [christoph] 0.9.0claws66 * src/folder.c diff --git a/ChangeLog.jp b/ChangeLog.jp index bb0a7fd2c..9e19ada58 100644 --- a/ChangeLog.jp +++ b/ChangeLog.jp @@ -1,3 +1,8 @@ +2003-06-27 + + * src/session.c: session_read_data_cb(): ¥³¡¼¥ë¥Ð¥Ã¥¯¤ò¸Æ¤ÖÁ°¤Ë + Session::read_data_buf ¤ò¥¯¥ê¥¢¤¹¤ë¤è¤¦¤Ë¤·¤¿¡£ + 2003-06-26 * src/socket.c: ¥½¥±¥Ã¥ÈÀܳ¤ò¥×¥í¥È¥³¥ëÆÈΩ¤Ë¤·¤¿¡£ diff --git a/configure.ac b/configure.ac index 8c56fd21f..73b93d37c 100644 --- a/configure.ac +++ b/configure.ac @@ -11,7 +11,7 @@ MINOR_VERSION=9 MICRO_VERSION=0 INTERFACE_AGE=0 BINARY_AGE=0 -EXTRA_VERSION=claws66 +EXTRA_VERSION=claws67 VERSION=$MAJOR_VERSION.$MINOR_VERSION.$MICRO_VERSION$EXTRA_VERSION dnl set $target diff --git a/src/common/session.c b/src/common/session.c index 16815bae9..fdd5e371a 100644 --- a/src/common/session.c +++ b/src/common/session.c @@ -460,6 +460,8 @@ static gboolean session_read_data_cb(GIOChannel *source, GIOCondition condition, gint terminator_len; gboolean complete = FALSE; gint ret; + gchar *ret_data; + gint data_len; g_return_val_if_fail(condition == G_IO_IN, FALSE); @@ -518,12 +520,16 @@ static gboolean session_read_data_cb(GIOChannel *source, GIOCondition condition, } /* callback */ - ret = session->recv_data_finished(session, data_buf->data, - data_buf->len - terminator_len); - session->recv_data_notify(session, data_buf->len - terminator_len, + ret_data = g_malloc(data_buf->len); + memcpy(ret_data, data_buf->data, data_buf->len); + data_len = data_buf->len - terminator_len; + g_byte_array_set_size(data_buf, 0); + + ret = session->recv_data_finished(session, ret_data, data_len); + session->recv_data_notify(session, data_len, session->recv_data_notify_data); - g_byte_array_set_size(data_buf, 0); + g_free(ret_data); if (ret < 0) session->state = SESSION_ERROR; -- 2.25.1