aboutsummaryrefslogtreecommitdiff
path: root/miscutils
diff options
context:
space:
mode:
authorDenis Vlasenko <vda.linux@googlemail.com>2008-02-24 19:18:18 +0000
committerDenis Vlasenko <vda.linux@googlemail.com>2008-02-24 19:18:18 +0000
commitb78d1c045facbebd21ea94072b6905e40e0147cf (patch)
tree953d97430baefc87afd9bceb825bd5d8784e7aaa /miscutils
parent4f82bdb050024b3475f5371a0612b1fb0fc4c09f (diff)
downloadbusybox-w32-b78d1c045facbebd21ea94072b6905e40e0147cf.tar.gz
busybox-w32-b78d1c045facbebd21ea94072b6905e40e0147cf.tar.bz2
busybox-w32-b78d1c045facbebd21ea94072b6905e40e0147cf.zip
less: shrink
Diffstat (limited to 'miscutils')
-rw-r--r--miscutils/less.c46
1 files changed, 22 insertions, 24 deletions
diff --git a/miscutils/less.c b/miscutils/less.c
index 7351a634d..da595f428 100644
--- a/miscutils/less.c
+++ b/miscutils/less.c
@@ -1175,41 +1175,40 @@ static void goto_mark(void)
1175static char opp_bracket(char bracket) 1175static char opp_bracket(char bracket)
1176{ 1176{
1177 switch (bracket) { 1177 switch (bracket) {
1178 case '{': case '[': 1178 case '{': case '[': /* '}' == '{' + 2. Same for '[' */
1179 return bracket + 2; 1179 bracket++;
1180 case '(': 1180 case '(': /* ')' == '(' + 1 */
1181 return ')'; 1181 bracket++;
1182 case '}': case ']': 1182 break;
1183 return bracket - 2; 1183 case '}': case ']':
1184 case ')': 1184 bracket--;
1185 return '('; 1185 case ')':
1186 } 1186 bracket--;
1187 return 0; 1187 break;
1188 };
1189 return bracket;
1188} 1190}
1189 1191
1190static void match_right_bracket(char bracket) 1192static void match_right_bracket(char bracket)
1191{ 1193{
1192 int bracket_line = -1;
1193 int i; 1194 int i;
1194 1195
1195 if (strchr(flines[cur_fline], bracket) == NULL) { 1196 if (strchr(flines[cur_fline], bracket) == NULL) {
1196 print_statusline("No bracket in top line"); 1197 print_statusline("No bracket in top line");
1197 return; 1198 return;
1198 } 1199 }
1200 bracket = opp_bracket(bracket);
1199 for (i = cur_fline + 1; i < max_fline; i++) { 1201 for (i = cur_fline + 1; i < max_fline; i++) {
1200 if (strchr(flines[i], opp_bracket(bracket)) != NULL) { 1202 if (strchr(flines[i], bracket) != NULL) {
1201 bracket_line = i; 1203 buffer_line(i);
1202 break; 1204 return;
1203 } 1205 }
1204 } 1206 }
1205 if (bracket_line == -1) 1207 print_statusline("No matching bracket found");
1206 print_statusline("No matching bracket found");
1207 buffer_line(bracket_line - max_displayed_line);
1208} 1208}
1209 1209
1210static void match_left_bracket(char bracket) 1210static void match_left_bracket(char bracket)
1211{ 1211{
1212 int bracket_line = -1;
1213 int i; 1212 int i;
1214 1213
1215 if (strchr(flines[cur_fline + max_displayed_line], bracket) == NULL) { 1214 if (strchr(flines[cur_fline + max_displayed_line], bracket) == NULL) {
@@ -1217,15 +1216,14 @@ static void match_left_bracket(char bracket)
1217 return; 1216 return;
1218 } 1217 }
1219 1218
1219 bracket = opp_bracket(bracket);
1220 for (i = cur_fline + max_displayed_line; i >= 0; i--) { 1220 for (i = cur_fline + max_displayed_line; i >= 0; i--) {
1221 if (strchr(flines[i], opp_bracket(bracket)) != NULL) { 1221 if (strchr(flines[i], bracket) != NULL) {
1222 bracket_line = i; 1222 buffer_line(i);
1223 break; 1223 return;
1224 } 1224 }
1225 } 1225 }
1226 if (bracket_line == -1) 1226 print_statusline("No matching bracket found");
1227 print_statusline("No matching bracket found");
1228 buffer_line(bracket_line);
1229} 1227}
1230#endif /* FEATURE_LESS_BRACKETS */ 1228#endif /* FEATURE_LESS_BRACKETS */
1231 1229