[vte] [ring] Minor cleanup
- From: Behdad Esfahbod <behdad src gnome org>
- To: svn-commits-list gnome org
- Cc:
- Subject: [vte] [ring] Minor cleanup
- Date: Sun, 6 Sep 2009 04:13:06 +0000 (UTC)
commit 086cbf79dd47cbecf2b9afe777f940acf1ae19ef
Author: Behdad Esfahbod <behdad behdad org>
Date: Sat Sep 5 23:06:58 2009 -0400
[ring] Minor cleanup
src/ring.c | 25 ++++++++++++++++---------
src/ring.h | 16 ++++++++--------
src/vte.c | 4 ++--
3 files changed, 26 insertions(+), 19 deletions(-)
---
diff --git a/src/ring.c b/src/ring.c
index 3f26dac..40e630f 100644
--- a/src/ring.c
+++ b/src/ring.c
@@ -324,17 +324,17 @@ _vte_ring_validate (VteRing * ring)
/**
* _vte_ring_new:
- * @max_elements: the maximum size the new ring will be allowed to reach
+ * @max_rows: the maximum size the new ring will be allowed to reach
*
- * Allocates a new ring capable of holding up to @max_elements rows at a time.
+ * Allocates a new ring capable of holding up to @max_rows rows at a time.
*
* Returns: the new ring
*/
VteRing *
-_vte_ring_new (glong max_elements)
+_vte_ring_new (glong max_rows)
{
VteRing *ring = g_slice_new0(VteRing);
- ring->max = MAX(max_elements, 2);
+ ring->max = MAX(max_rows, 2);
ring->array = g_malloc0(sizeof(ring->array[0]) * ring->max);
_vte_debug_print(VTE_DEBUG_RING, "New ring %p.\n", ring);
@@ -366,19 +366,19 @@ _vte_ring_free (VteRing *ring)
/**
* _vte_ring_free:
* @ring: a #VteRing
- * @max_elements: new maximum numbers of rows in the ring
+ * @max_rows: new maximum numbers of rows in the ring
*
* Changes the number of lines the ring can contain.
*/
void
-_vte_ring_resize (VteRing *ring, glong max_elements)
+_vte_ring_resize (VteRing *ring, glong max_rows)
{
glong position, end, old_max;
VteRowData *old_array;
- max_elements = MAX(max_elements, 2);
+ max_rows = MAX(max_rows, 2);
- if (ring->max == max_elements)
+ if (ring->max == max_rows)
return;
_vte_debug_print(VTE_DEBUG_RING, "Resizing ring.\n");
@@ -387,7 +387,7 @@ _vte_ring_resize (VteRing *ring, glong max_elements)
old_max = ring->max;
old_array = ring->array;
- ring->max = max_elements;
+ ring->max = max_rows;
ring->array = g_malloc0(sizeof(ring->array[0]) * ring->max);
end = ring->delta + ring->length;
@@ -406,6 +406,13 @@ _vte_ring_resize (VteRing *ring, glong max_elements)
_vte_ring_validate(ring);
}
+void
+_vte_ring_shrink (VteRing *ring, unsigned int max_len)
+{
+ if (ring->length > max_len)
+ ring->length = max_len;
+}
+
/**
* _vte_ring_insert_internal:
* @ring: a #VteRing
diff --git a/src/ring.h b/src/ring.h
index c3d1b86..fa44729 100644
--- a/src/ring.h
+++ b/src/ring.h
@@ -148,14 +148,14 @@ struct _VteRing {
#define _vte_ring_length(__ring) ((__ring)->length + 0)
#define _vte_ring_next(__ring) ((__ring)->delta + (__ring)->length)
#define _vte_ring_index(__ring, __position) (&(__ring)->array[(__position) % (__ring)->max])
-#define _vte_ring_set_length(__ring, __length) ((__ring)->length = __length)
-
-VteRing *_vte_ring_new(glong max_elements);
-void _vte_ring_resize(VteRing *ring, glong max_elements);
-VteRowData *_vte_ring_insert(VteRing *ring, glong position);
-VteRowData *_vte_ring_append(VteRing *ring);
-void _vte_ring_remove(VteRing *ring, glong position);
-void _vte_ring_free(VteRing *ring);
+
+VteRing *_vte_ring_new (glong max_rows);
+void _vte_ring_free (VteRing *ring);
+void _vte_ring_resize (VteRing *ring, glong max_rows);
+void _vte_ring_shrink (VteRing *ring, unsigned int max_len);
+VteRowData *_vte_ring_insert (VteRing *ring, glong position);
+VteRowData *_vte_ring_append (VteRing *ring);
+void _vte_ring_remove (VteRing *ring, glong position);
G_END_DECLS
diff --git a/src/vte.c b/src/vte.c
index 8abdb08..68832c0 100644
--- a/src/vte.c
+++ b/src/vte.c
@@ -12993,14 +12993,14 @@ vte_terminal_set_scrollback_lines(VteTerminal *terminal, glong lines)
scroll_delta = CLAMP (scroll_delta, low, screen->insert_delta);
next = MIN (next, screen->insert_delta + terminal->row_count);
if (_vte_ring_next (screen->row_data) > next){
- _vte_ring_set_length (screen->row_data, next - low);
+ _vte_ring_shrink (screen->row_data, next - low);
}
} else {
_vte_ring_resize (screen->row_data, terminal->row_count);
scroll_delta = _vte_ring_delta (screen->row_data);
screen->insert_delta = _vte_ring_delta (screen->row_data);
if (_vte_ring_next (screen->row_data) > screen->insert_delta + terminal->row_count){
- _vte_ring_set_length (screen->row_data, terminal->row_count);
+ _vte_ring_shrink (screen->row_data, terminal->row_count);
}
}
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]