Download raw body.
tog cleanup: simplify ref/tree_scroll function calls
simplify the (ref|tree)_scroll_(up|down) function signatures
Pass only the view state and scroll amount to these functions;
remove unused parameters and those that are contained in the view
state.
Is this the right direction?
Any style issues?
Did I screw up the conversion? (It tests fine for me.)
diff 34ba691717f92f1469abdb1fdcb04351278668a2 /home/naddy/got
blob - 37a8fe8842d345b89c8c004db5cb3f7c0adcf699
file + tog/tog.c
--- tog/tog.c
+++ tog/tog.c
@@ -4986,47 +4986,45 @@ draw_tree_entries(struct tog_view *view,
}
static void
-tree_scroll_up(struct tog_view *view,
- struct got_tree_entry **first_displayed_entry, int maxscroll,
- struct got_tree_object *tree, int isroot)
+tree_scroll_up(struct tog_tree_view_state *s, int maxscroll)
{
struct got_tree_entry *te;
+ int isroot = s->tree == s->root;
int i = 0;
- if (*first_displayed_entry == NULL)
+ if (s->first_displayed_entry == NULL)
return;
- te = got_tree_entry_get_prev(tree, *first_displayed_entry);
+ te = got_tree_entry_get_prev(s->tree, s->first_displayed_entry);
while (i++ < maxscroll) {
if (te == NULL) {
if (!isroot)
- *first_displayed_entry = NULL;
+ s->first_displayed_entry = NULL;
break;
}
- *first_displayed_entry = te;
- te = got_tree_entry_get_prev(tree, te);
+ s->first_displayed_entry = te;
+ te = got_tree_entry_get_prev(s->tree, te);
}
}
static void
-tree_scroll_down(struct got_tree_entry **first_displayed_entry, int maxscroll,
- struct got_tree_entry *last_displayed_entry,
- struct got_tree_object *tree)
+tree_scroll_down(struct tog_tree_view_state *s, int maxscroll)
{
struct got_tree_entry *next, *last;
int n = 0;
- if (*first_displayed_entry)
- next = got_tree_entry_get_next(tree, *first_displayed_entry);
+ if (s->first_displayed_entry)
+ next = got_tree_entry_get_next(s->tree,
+ s->first_displayed_entry);
else
- next = got_object_tree_get_first_entry(tree);
+ next = got_object_tree_get_first_entry(s->tree);
- last = last_displayed_entry;
+ last = s->last_displayed_entry;
while (next && last && n++ < maxscroll) {
- last = got_tree_entry_get_next(tree, last);
+ last = got_tree_entry_get_next(s->tree, last);
if (last) {
- *first_displayed_entry = next;
- next = got_tree_entry_get_next(tree, next);
+ s->first_displayed_entry = next;
+ next = got_tree_entry_get_next(s->tree, next);
}
}
}
@@ -5412,8 +5410,7 @@ input_tree_view(struct tog_view **new_view, struct tog
s->selected--;
break;
}
- tree_scroll_up(view, &s->first_displayed_entry, 1,
- s->tree, s->tree == s->root);
+ tree_scroll_up(s, 1);
break;
case KEY_PPAGE:
case CTRL('b'):
@@ -5425,8 +5422,7 @@ input_tree_view(struct tog_view **new_view, struct tog
if (s->first_displayed_entry == NULL)
s->selected = 0;
}
- tree_scroll_up(view, &s->first_displayed_entry,
- MAX(0, view->nlines - 3), s->tree, s->tree == s->root);
+ tree_scroll_up(s, MAX(0, view->nlines - 3));
break;
case 'j':
case KEY_DOWN:
@@ -5438,8 +5434,7 @@ input_tree_view(struct tog_view **new_view, struct tog
== NULL)
/* can't scroll any further */
break;
- tree_scroll_down(&s->first_displayed_entry, 1,
- s->last_displayed_entry, s->tree);
+ tree_scroll_down(s, 1);
break;
case KEY_NPAGE:
case CTRL('f'):
@@ -5450,8 +5445,7 @@ input_tree_view(struct tog_view **new_view, struct tog
s->selected = s->ndisplayed - 1;
break;
}
- tree_scroll_down(&s->first_displayed_entry, view->nlines - 3,
- s->last_displayed_entry, s->tree);
+ tree_scroll_down(s, view->nlines - 3);
break;
case KEY_ENTER:
case '\r':
@@ -5853,43 +5847,39 @@ done:
}
static void
-ref_scroll_up(struct tog_view *view,
- struct tog_reflist_entry **first_displayed_entry, int maxscroll,
- struct tog_reflist_head *refs)
+ref_scroll_up(struct tog_ref_view_state *s, int maxscroll)
{
struct tog_reflist_entry *re;
int i = 0;
- if (*first_displayed_entry == TAILQ_FIRST(refs))
+ if (s->first_displayed_entry == TAILQ_FIRST(&s->refs))
return;
- re = TAILQ_PREV(*first_displayed_entry, tog_reflist_head, entry);
+ re = TAILQ_PREV(s->first_displayed_entry, tog_reflist_head, entry);
while (i++ < maxscroll) {
if (re == NULL)
break;
- *first_displayed_entry = re;
+ s->first_displayed_entry = re;
re = TAILQ_PREV(re, tog_reflist_head, entry);
}
}
static void
-ref_scroll_down(struct tog_reflist_entry **first_displayed_entry, int maxscroll,
- struct tog_reflist_entry *last_displayed_entry,
- struct tog_reflist_head *refs)
+ref_scroll_down(struct tog_ref_view_state *s, int maxscroll)
{
struct tog_reflist_entry *next, *last;
int n = 0;
- if (*first_displayed_entry)
- next = TAILQ_NEXT(*first_displayed_entry, entry);
+ if (s->first_displayed_entry)
+ next = TAILQ_NEXT(s->first_displayed_entry, entry);
else
- next = TAILQ_FIRST(refs);
+ next = TAILQ_FIRST(&s->refs);
- last = last_displayed_entry;
+ last = s->last_displayed_entry;
while (next && last && n++ < maxscroll) {
last = TAILQ_NEXT(last, entry);
if (last) {
- *first_displayed_entry = next;
+ s->first_displayed_entry = next;
next = TAILQ_NEXT(next, entry);
}
}
@@ -6204,14 +6194,13 @@ input_ref_view(struct tog_view **new_view, struct tog_
s->selected--;
break;
}
- ref_scroll_up(view, &s->first_displayed_entry, 1, &s->refs);
+ ref_scroll_up(s, 1);
break;
case KEY_PPAGE:
case CTRL('b'):
if (s->first_displayed_entry == TAILQ_FIRST(&s->refs))
s->selected = 0;
- ref_scroll_up(view, &s->first_displayed_entry,
- MAX(0, view->nlines - 1), &s->refs);
+ ref_scroll_up(s, MAX(0, view->nlines - 1));
break;
case 'j':
case KEY_DOWN:
@@ -6222,8 +6211,7 @@ input_ref_view(struct tog_view **new_view, struct tog_
if (TAILQ_NEXT(s->last_displayed_entry, entry) == NULL)
/* can't scroll any further */
break;
- ref_scroll_down(&s->first_displayed_entry, 1,
- s->last_displayed_entry, &s->refs);
+ ref_scroll_down(s, 1);
break;
case KEY_NPAGE:
case CTRL('f'):
@@ -6233,8 +6221,7 @@ input_ref_view(struct tog_view **new_view, struct tog_
s->selected = s->ndisplayed - 1;
break;
}
- ref_scroll_down(&s->first_displayed_entry,
- view->nlines - 1, s->last_displayed_entry, &s->refs);
+ ref_scroll_down(s, view->nlines - 1);
break;
case CTRL('l'):
ref_view_free_refs(s);
--
Christian "naddy" Weisgerber naddy@mips.inka.de
tog cleanup: simplify ref/tree_scroll function calls