summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorJilles Tjoelker <jilles@irssi.org>2008-11-01 17:56:56 +0000
committerjilles <jilles@dbcabf3a-b0e7-0310-adc4-f8d773084564>2008-11-01 17:56:56 +0000
commitaa39fba88d96f1fce6b95f31f96ee902112a0169 (patch)
tree00abdd131ad514cf6dd87cfdb6b5bc2cefd46ed2 /src
parent875adf35a0f2da089662da42dd1cf44474527064 (diff)
downloadirssi-aa39fba88d96f1fce6b95f31f96ee902112a0169.zip
Remove the refcount on LINE_REC.
It seems to have no clear purpose. git-svn-id: file:///var/www/svn.irssi.org/SVN/irssi/trunk@4879 dbcabf3a-b0e7-0310-adc4-f8d773084564
Diffstat (limited to 'src')
-rw-r--r--src/fe-text/lastlog.c3
-rw-r--r--src/fe-text/textbuffer.c41
-rw-r--r--src/fe-text/textbuffer.h5
-rw-r--r--src/perl/textui/TextBuffer.xs11
4 files changed, 4 insertions, 56 deletions
diff --git a/src/fe-text/lastlog.c b/src/fe-text/lastlog.c
index 8791405f..417eb484 100644
--- a/src/fe-text/lastlog.c
+++ b/src/fe-text/lastlog.c
@@ -153,7 +153,6 @@ static void show_lastlog(const char *searchtext, GHashTable *optlist,
if (g_hash_table_lookup(optlist, "count") != NULL) {
printformat_window(active_win, MSGLEVEL_CLIENTNOTICE,
TXT_LASTLOG_COUNT, len);
- textbuffer_line_unref_list(WINDOW_GUI(window)->view->buffer, list);
g_list_free(list);
return;
}
@@ -163,7 +162,6 @@ static void show_lastlog(const char *searchtext, GHashTable *optlist,
printformat_window(active_win,
MSGLEVEL_CLIENTNOTICE|MSGLEVEL_LASTLOG,
TXT_LASTLOG_TOO_LONG, len);
- textbuffer_line_unref_list(WINDOW_GUI(window)->view->buffer, list);
g_list_free(list);
return;
}
@@ -221,7 +219,6 @@ static void show_lastlog(const char *searchtext, GHashTable *optlist,
textbuffer_view_set_bookmark_bottom(WINDOW_GUI(window)->view,
"lastlog_last_check");
- textbuffer_line_unref_list(WINDOW_GUI(window)->view->buffer, list);
g_list_free(list);
}
diff --git a/src/fe-text/textbuffer.c b/src/fe-text/textbuffer.c
index fc016ff9..4cccb924 100644
--- a/src/fe-text/textbuffer.c
+++ b/src/fe-text/textbuffer.c
@@ -183,7 +183,6 @@ static LINE_REC *textbuffer_line_create(TEXT_BUFFER_REC *buffer)
text_chunk_create(buffer);
rec = g_mem_chunk_alloc(line_chunk);
- rec->refcount = 1;
rec->text = buffer->cur_text->buffer + buffer->cur_text->pos;
buffer->cur_text->refcount++;
@@ -216,36 +215,6 @@ static LINE_REC *textbuffer_line_insert(TEXT_BUFFER_REC *buffer,
return line;
}
-void textbuffer_line_ref(LINE_REC *line)
-{
- g_return_if_fail(line != NULL);
-
- if (++line->refcount == 255)
- g_error("line reference counter wrapped - shouldn't happen");
-}
-
-void textbuffer_line_unref(TEXT_BUFFER_REC *buffer, LINE_REC *line)
-{
- g_return_if_fail(buffer != NULL);
- g_return_if_fail(line != NULL);
-
- if (--line->refcount == 0) {
- text_chunk_line_free(buffer, line);
- g_mem_chunk_free(line_chunk, line);
- }
-}
-
-void textbuffer_line_unref_list(TEXT_BUFFER_REC *buffer, GList *list)
-{
- g_return_if_fail(buffer != NULL);
-
- while (list != NULL) {
- if (list->data != NULL)
- textbuffer_line_unref(buffer, list->data);
- list = list->next;
- }
-}
-
LINE_REC *textbuffer_line_last(TEXT_BUFFER_REC *buffer)
{
LINE_REC *line;
@@ -372,10 +341,11 @@ void textbuffer_remove(TEXT_BUFFER_REC *buffer, LINE_REC *line)
line->prev = line->next = NULL;
buffer->lines_count--;
- textbuffer_line_unref(buffer, line);
+ text_chunk_line_free(buffer, line);
+ g_mem_chunk_free(line_chunk, line);
}
-/* Removes all lines from buffer, ignoring reference counters */
+/* Removes all lines from buffer */
void textbuffer_remove_all_lines(TEXT_BUFFER_REC *buffer)
{
GSList *tmp;
@@ -563,17 +533,14 @@ GList *textbuffer_find_text(TEXT_BUFFER_REC *buffer, LINE_REC *startline,
pre_line = pre_line->prev;
}
- for (; pre_line != line; pre_line = pre_line->next) {
- textbuffer_line_ref(pre_line);
+ for (; pre_line != line; pre_line = pre_line->next)
matches = g_list_append(matches, pre_line);
- }
match_after = after;
}
if (line_matched || match_after > 0) {
/* matched */
- textbuffer_line_ref(line);
matches = g_list_append(matches, line);
if ((!line_matched && --match_after == 0) ||
diff --git a/src/fe-text/textbuffer.h b/src/fe-text/textbuffer.h
index 2cfe536e..92001723 100644
--- a/src/fe-text/textbuffer.h
+++ b/src/fe-text/textbuffer.h
@@ -48,7 +48,6 @@ typedef struct _LINE_REC {
struct _LINE_REC *prev, *next;
unsigned char *text;
- unsigned char refcount;
LINE_INFO_REC info;
} LINE_REC;
@@ -77,10 +76,6 @@ TEXT_BUFFER_REC *textbuffer_create(void);
/* Destroy the buffer */
void textbuffer_destroy(TEXT_BUFFER_REC *buffer);
-void textbuffer_line_ref(LINE_REC *line);
-void textbuffer_line_unref(TEXT_BUFFER_REC *buffer, LINE_REC *line);
-void textbuffer_line_unref_list(TEXT_BUFFER_REC *buffer, GList *list);
-
LINE_REC *textbuffer_line_last(TEXT_BUFFER_REC *buffer);
int textbuffer_line_exists_after(LINE_REC *line, LINE_REC *search);
diff --git a/src/perl/textui/TextBuffer.xs b/src/perl/textui/TextBuffer.xs
index 31e7c491..dda0852f 100644
--- a/src/perl/textui/TextBuffer.xs
+++ b/src/perl/textui/TextBuffer.xs
@@ -59,17 +59,6 @@ OUTPUT:
RETVAL
void
-textbuffer_line_ref(line)
- Irssi::TextUI::Line line
-
-void
-textbuffer_line_unref(line, buffer)
- Irssi::TextUI::Line line
- Irssi::TextUI::TextBuffer buffer
-CODE:
- textbuffer_line_unref(buffer, line);
-
-void
textbuffer_line_get_text(line, coloring)
Irssi::TextUI::Line line
int coloring