diff options
author | Denis Vlasenko <vda.linux@googlemail.com> | 2007-02-25 02:37:49 +0000 |
---|---|---|
committer | Denis Vlasenko <vda.linux@googlemail.com> | 2007-02-25 02:37:49 +0000 |
commit | 4222ae440a3c73ce5481b7b0e2db0da229fa76aa (patch) | |
tree | ae43daa4fa56c238740ee64b603dfef1574b6050 | |
parent | 018e085d44206305f1d20e0111236f96f8d78c80 (diff) | |
download | busybox-w32-4222ae440a3c73ce5481b7b0e2db0da229fa76aa.tar.gz busybox-w32-4222ae440a3c73ce5481b7b0e2db0da229fa76aa.tar.bz2 busybox-w32-4222ae440a3c73ce5481b7b0e2db0da229fa76aa.zip |
ash: replace xstrdup (shell shall not die)
grep: fix mis-indented block
-rw-r--r-- | findutils/grep.c | 104 | ||||
-rw-r--r-- | shell/ash.c | 4 |
2 files changed, 54 insertions, 54 deletions
diff --git a/findutils/grep.c b/findutils/grep.c index f4652fa72..c1cb7dd0c 100644 --- a/findutils/grep.c +++ b/findutils/grep.c | |||
@@ -84,7 +84,7 @@ static int last_line_printed; | |||
84 | static llist_t *pattern_head; /* growable list of patterns to match */ | 84 | static llist_t *pattern_head; /* growable list of patterns to match */ |
85 | static const char *cur_file; /* the current file we are reading */ | 85 | static const char *cur_file; /* the current file we are reading */ |
86 | 86 | ||
87 | typedef struct GREP_LIST_DATA { | 87 | typedef struct grep_list_data_t { |
88 | char *pattern; | 88 | char *pattern; |
89 | regex_t preg; | 89 | regex_t preg; |
90 | #define PATTERN_MEM_A 1 | 90 | #define PATTERN_MEM_A 1 |
@@ -162,68 +162,68 @@ static int grep_file(FILE *file) | |||
162 | if (BE_QUIET || PRINT_FILES_WITHOUT_MATCHES) | 162 | if (BE_QUIET || PRINT_FILES_WITHOUT_MATCHES) |
163 | return -1; | 163 | return -1; |
164 | 164 | ||
165 | /* keep track of matches */ | 165 | /* keep track of matches */ |
166 | nmatches++; | 166 | nmatches++; |
167 | 167 | ||
168 | /* if we're just printing filenames, we stop after the first match */ | 168 | /* if we're just printing filenames, we stop after the first match */ |
169 | if (PRINT_FILES_WITH_MATCHES) | 169 | if (PRINT_FILES_WITH_MATCHES) |
170 | break; | 170 | break; |
171 | 171 | ||
172 | /* print the matched line */ | 172 | /* print the matched line */ |
173 | if (PRINT_MATCH_COUNTS == 0) { | 173 | if (PRINT_MATCH_COUNTS == 0) { |
174 | #if ENABLE_FEATURE_GREP_CONTEXT | 174 | #if ENABLE_FEATURE_GREP_CONTEXT |
175 | int prevpos = (curpos == 0) ? lines_before - 1 : curpos - 1; | 175 | int prevpos = (curpos == 0) ? lines_before - 1 : curpos - 1; |
176 | 176 | ||
177 | /* if we were told to print 'before' lines and there is at least | 177 | /* if we were told to print 'before' lines and there is at least |
178 | * one line in the circular buffer, print them */ | 178 | * one line in the circular buffer, print them */ |
179 | if (lines_before && before_buf[prevpos] != NULL) { | 179 | if (lines_before && before_buf[prevpos] != NULL) { |
180 | int first_buf_entry_line_num = linenum - lines_before; | 180 | int first_buf_entry_line_num = linenum - lines_before; |
181 | 181 | ||
182 | /* advance to the first entry in the circular buffer, and | 182 | /* advance to the first entry in the circular buffer, and |
183 | * figure out the line number is of the first line in the | 183 | * figure out the line number is of the first line in the |
184 | * buffer */ | 184 | * buffer */ |
185 | idx = curpos; | 185 | idx = curpos; |
186 | while (before_buf[idx] == NULL) { | 186 | while (before_buf[idx] == NULL) { |
187 | idx = (idx + 1) % lines_before; | 187 | idx = (idx + 1) % lines_before; |
188 | first_buf_entry_line_num++; | 188 | first_buf_entry_line_num++; |
189 | } | ||
190 | |||
191 | /* now print each line in the buffer, clearing them as we go */ | ||
192 | while (before_buf[idx] != NULL) { | ||
193 | print_line(before_buf[idx], first_buf_entry_line_num, '-'); | ||
194 | free(before_buf[idx]); | ||
195 | before_buf[idx] = NULL; | ||
196 | idx = (idx + 1) % lines_before; | ||
197 | first_buf_entry_line_num++; | ||
198 | } | ||
199 | } | 189 | } |
200 | 190 | ||
201 | /* make a note that we need to print 'after' lines */ | 191 | /* now print each line in the buffer, clearing them as we go */ |
202 | print_n_lines_after = lines_after; | 192 | while (before_buf[idx] != NULL) { |
203 | #endif | 193 | print_line(before_buf[idx], first_buf_entry_line_num, '-'); |
204 | if (option_mask32 & GREP_OPT_o) { | 194 | free(before_buf[idx]); |
205 | line[regmatch.rm_eo] = '\0'; | 195 | before_buf[idx] = NULL; |
206 | print_line(line + regmatch.rm_so, linenum, ':'); | 196 | idx = (idx + 1) % lines_before; |
207 | } else { | 197 | first_buf_entry_line_num++; |
208 | print_line(line, linenum, ':'); | ||
209 | } | 198 | } |
210 | } | 199 | } |
200 | |||
201 | /* make a note that we need to print 'after' lines */ | ||
202 | print_n_lines_after = lines_after; | ||
203 | #endif | ||
204 | if (option_mask32 & GREP_OPT_o) { | ||
205 | line[regmatch.rm_eo] = '\0'; | ||
206 | print_line(line + regmatch.rm_so, linenum, ':'); | ||
207 | } else { | ||
208 | print_line(line, linenum, ':'); | ||
209 | } | ||
211 | } | 210 | } |
211 | } | ||
212 | #if ENABLE_FEATURE_GREP_CONTEXT | 212 | #if ENABLE_FEATURE_GREP_CONTEXT |
213 | else { /* no match */ | 213 | else { /* no match */ |
214 | /* Add the line to the circular 'before' buffer */ | 214 | /* Add the line to the circular 'before' buffer */ |
215 | if (lines_before) { | 215 | if (lines_before) { |
216 | free(before_buf[curpos]); | 216 | free(before_buf[curpos]); |
217 | before_buf[curpos] = xstrdup(line); | 217 | before_buf[curpos] = xstrdup(line); |
218 | curpos = (curpos + 1) % lines_before; | 218 | curpos = (curpos + 1) % lines_before; |
219 | } | ||
220 | } | 219 | } |
220 | } | ||
221 | 221 | ||
222 | /* if we need to print some context lines after the last match, do so */ | 222 | /* if we need to print some context lines after the last match, do so */ |
223 | if (print_n_lines_after && (last_line_printed != linenum)) { | 223 | if (print_n_lines_after && (last_line_printed != linenum)) { |
224 | print_line(line, linenum, '-'); | 224 | print_line(line, linenum, '-'); |
225 | print_n_lines_after--; | 225 | print_n_lines_after--; |
226 | } | 226 | } |
227 | #endif /* ENABLE_FEATURE_GREP_CONTEXT */ | 227 | #endif /* ENABLE_FEATURE_GREP_CONTEXT */ |
228 | free(line); | 228 | free(line); |
229 | } | 229 | } |
diff --git a/shell/ash.c b/shell/ash.c index 8e8577ad6..371b5d9c3 100644 --- a/shell/ash.c +++ b/shell/ash.c | |||
@@ -2156,7 +2156,7 @@ putprompt(const char *s) | |||
2156 | { | 2156 | { |
2157 | if (ENABLE_ASH_EXPAND_PRMT) { | 2157 | if (ENABLE_ASH_EXPAND_PRMT) { |
2158 | free((char*)cmdedit_prompt); | 2158 | free((char*)cmdedit_prompt); |
2159 | cmdedit_prompt = xstrdup(s); | 2159 | cmdedit_prompt = ckstrdup(s); |
2160 | return; | 2160 | return; |
2161 | } | 2161 | } |
2162 | cmdedit_prompt = s; | 2162 | cmdedit_prompt = s; |
@@ -11033,7 +11033,7 @@ dotcmd(int argc, char **argv) | |||
11033 | int status = 0; | 11033 | int status = 0; |
11034 | 11034 | ||
11035 | for (sp = cmdenviron; sp; sp = sp->next) | 11035 | for (sp = cmdenviron; sp; sp = sp->next) |
11036 | setvareq(xstrdup(sp->text), VSTRFIXED | VTEXTFIXED); | 11036 | setvareq(ckstrdup(sp->text), VSTRFIXED | VTEXTFIXED); |
11037 | 11037 | ||
11038 | if (argc >= 2) { /* That's what SVR2 does */ | 11038 | if (argc >= 2) { /* That's what SVR2 does */ |
11039 | char *fullname; | 11039 | char *fullname; |