From: <kt...@us...> - 2008-10-17 10:53:44
|
Revision: 2542 http://cutter.svn.sourceforge.net/cutter/?rev=2542&view=rev Author: ktou Date: 2008-10-17 10:53:34 +0000 (Fri, 17 Oct 2008) Log Message: ----------- * gcutter/gcut-io-channel-string.[ch], test/gcutter/test-gcut-io-channel-string.c: add gcut_string_io_channel_clear(). Modified Paths: -------------- cutter/trunk/ChangeLog cutter/trunk/gcutter/gcut-io-channel-string.c cutter/trunk/gcutter/gcut-io-channel-string.h cutter/trunk/test/gcutter/test-gcut-io-channel-string.c Modified: cutter/trunk/ChangeLog =================================================================== --- cutter/trunk/ChangeLog 2008-10-17 10:26:50 UTC (rev 2541) +++ cutter/trunk/ChangeLog 2008-10-17 10:53:34 UTC (rev 2542) @@ -1,5 +1,9 @@ 2008-10-17 Kouhei Sutou <ko...@co...> + * gcutter/gcut-io-channel-string.[ch], + test/gcutter/test-gcut-io-channel-string.c: add + gcut_string_io_channel_clear(). + * cutter/cut-assertions-helper.c (cut_assert_equal_memory_helper): set limit. Modified: cutter/trunk/gcutter/gcut-io-channel-string.c =================================================================== --- cutter/trunk/gcutter/gcut-io-channel-string.c 2008-10-17 10:26:50 UTC (rev 2541) +++ cutter/trunk/gcutter/gcut-io-channel-string.c 2008-10-17 10:53:34 UTC (rev 2542) @@ -276,6 +276,15 @@ return string_channel->string; } +void +gcut_string_io_channel_clear (GIOChannel *channel) +{ + GCutIOChannelString *string_channel = (GCutIOChannelString *)channel; + + g_string_truncate(string_channel->string, 0); + string_channel->offset = 0; +} + /* vi:nowrap:ai:expandtab:sw=4:ts=4 */ Modified: cutter/trunk/gcutter/gcut-io-channel-string.h =================================================================== --- cutter/trunk/gcutter/gcut-io-channel-string.h 2008-10-17 10:26:50 UTC (rev 2541) +++ cutter/trunk/gcutter/gcut-io-channel-string.h 2008-10-17 10:53:34 UTC (rev 2542) @@ -26,6 +26,7 @@ GIOChannel *gcut_io_channel_string_new (const gchar *initial); GString *gcut_string_io_channel_get_string (GIOChannel *channel); +void gcut_string_io_channel_clear (GIOChannel *channel); G_END_DECLS Modified: cutter/trunk/test/gcutter/test-gcut-io-channel-string.c =================================================================== --- cutter/trunk/test/gcutter/test-gcut-io-channel-string.c 2008-10-17 10:26:50 UTC (rev 2541) +++ cutter/trunk/test/gcutter/test-gcut-io-channel-string.c 2008-10-17 10:53:34 UTC (rev 2542) @@ -22,6 +22,7 @@ void test_new(void); void test_new_null(void); void test_read_write(void); +void test_clear(void); void test_source(void); static GIOChannel *channel; @@ -123,6 +124,25 @@ gcut_string_io_channel_get_string(channel)->str); } +void +test_clear (void) +{ + gsize length; + GError *error = NULL; + + channel = gcut_io_channel_string_new("XXX"); + cut_assert_equal_string("XXX", + gcut_string_io_channel_get_string(channel)->str); + + gcut_string_io_channel_clear(channel); + cut_assert_equal_string("", + gcut_string_io_channel_get_string(channel)->str); + + g_io_channel_read_to_end(channel, &data, &length, &error); + gcut_assert_error(error); + cut_assert_equal_string("", data); +} + static gboolean watch_func (GIOChannel *channel, GIOCondition condition, gpointer data) { This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |