diff options
| author | Denis Vlasenko <vda.linux@googlemail.com> | 2008-02-24 19:18:18 +0000 |
|---|---|---|
| committer | Denis Vlasenko <vda.linux@googlemail.com> | 2008-02-24 19:18:18 +0000 |
| commit | b78d1c045facbebd21ea94072b6905e40e0147cf (patch) | |
| tree | 953d97430baefc87afd9bceb825bd5d8784e7aaa | |
| parent | 4f82bdb050024b3475f5371a0612b1fb0fc4c09f (diff) | |
| download | busybox-w32-b78d1c045facbebd21ea94072b6905e40e0147cf.tar.gz busybox-w32-b78d1c045facbebd21ea94072b6905e40e0147cf.tar.bz2 busybox-w32-b78d1c045facbebd21ea94072b6905e40e0147cf.zip | |
less: shrink
| -rw-r--r-- | miscutils/less.c | 46 |
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) | |||
| 1175 | static char opp_bracket(char bracket) | 1175 | static 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 | ||
| 1190 | static void match_right_bracket(char bracket) | 1192 | static 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 | ||
| 1210 | static void match_left_bracket(char bracket) | 1210 | static 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 | ||
