summaryrefslogtreecommitdiff
path: root/src/mark.c
diff options
context:
space:
mode:
authorSadrul Habib Chowdhury <sadrul@users.sourceforge.net>2009-09-23 12:23:45 -0400
committerSadrul Habib Chowdhury <sadrul@users.sourceforge.net>2009-09-23 12:23:45 -0400
commit0ca36352b236f6c72e1f79d9556e0759d9905d5d (patch)
tree6a729ca47fcd063c0f4a11830c216a064be36edc /src/mark.c
parentbd1b9d13df786380e96bf610ef6c725b05be60ee (diff)
downloadscreen-0ca36352b236f6c72e1f79d9556e0759d9905d5d.tar.gz
Re-indent some code, and reduce code-duplication.
Diffstat (limited to 'src/mark.c')
-rw-r--r--src/mark.c66
1 files changed, 28 insertions, 38 deletions
diff --git a/src/mark.c b/src/mark.c
index be22df7..ff8e583 100644
--- a/src/mark.c
+++ b/src/mark.c
@@ -162,14 +162,18 @@ nextchar(int *xp, int *yp, int direction, char target, int num)
displayed_line = (char *)WIN(*yp) -> image;
switch(direction) {
- case 't': adjust = -1; /* fall through */
- case 'f': step = 1; /* fall through */
- break;
- case 'T': adjust = 1; /* fall through */
- case 'F': step = -1; /* fall through */
- break;
- default:
- ASSERT(0);
+ case 't':
+ adjust = -1; /* fall through */
+ case 'f':
+ step = 1;
+ break;
+ case 'T':
+ adjust = 1; /* fall through */
+ case 'F':
+ step = -1;
+ break;
+ default:
+ ASSERT(0);
}
x += step;
@@ -611,43 +615,29 @@ int *inlenp;
case 'F': /* fall through */
case 't': /* fall through */
case 'T': /* fall through */
- /*
- * Set f_cmd to do a search on the next key stroke.
- * If we break, rep_cnt will be reset, so we
- * continue instead. It might be cleaner to
- * store the rep_count in f_cmd and
- * break here so later followon code will be
- * hit.
- */
- markdata->f_cmd.flag = 1;
- markdata->f_cmd.direction = od;
- debug("entering char search\n");
- continue;
+ /*
+ * Set f_cmd to do a search on the next key stroke.
+ * If we break, rep_cnt will be reset, so we
+ * continue instead. It might be cleaner to
+ * store the rep_count in f_cmd and
+ * break here so later followon code will be
+ * hit.
+ */
+ markdata->f_cmd.flag = 1;
+ markdata->f_cmd.direction = od;
+ debug("entering char search\n");
+ continue;
case ';':
+ case ',':
if (!markdata->f_cmd.target)
break;
if (!rep_cnt)
rep_cnt = 1;
- nextchar(&cx, &cy, markdata->f_cmd.direction, markdata->f_cmd.target, rep_cnt );
- revto(cx, cy);
- break;
- case ',': {
- int search_dir;
- if (!markdata->f_cmd.target)
- break;
- if (!rep_cnt)
- rep_cnt = 1;
- switch (markdata->f_cmd.direction) {
- case 't': search_dir = 'T'; break;
- case 'T': search_dir = 't'; break;
- case 'f': search_dir = 'F'; break;
- case 'F': search_dir = 'f'; break;
- }
- nextchar(&cx, &cy, search_dir, markdata->f_cmd.target, rep_cnt );
+ nextchar(&cx, &cy,
+ od == ';' ? markdata->f_cmd.direction : (markdata->f_cmd.direction ^ 0x20),
+ markdata->f_cmd.target, rep_cnt );
revto(cx, cy);
break;
- }
-
case 'o':
case 'x':
if (!markdata->second)