diff options
Diffstat (limited to 'miscutils')
-rw-r--r-- | miscutils/crond.c | 21 | ||||
-rw-r--r-- | miscutils/crontab.c | 36 | ||||
-rw-r--r-- | miscutils/devfsd.c | 8 | ||||
-rw-r--r-- | miscutils/hdparm.c | 16 | ||||
-rw-r--r-- | miscutils/last.c | 10 | ||||
-rw-r--r-- | miscutils/less.c | 54 | ||||
-rw-r--r-- | miscutils/makedevs.c | 13 | ||||
-rw-r--r-- | miscutils/mountpoint.c | 6 | ||||
-rw-r--r-- | miscutils/mt.c | 6 | ||||
-rw-r--r-- | miscutils/rx.c | 16 | ||||
-rw-r--r-- | miscutils/watchdog.c | 9 |
11 files changed, 49 insertions, 146 deletions
diff --git a/miscutils/crond.c b/miscutils/crond.c index 3f60468de..3e12fedc8 100644 --- a/miscutils/crond.c +++ b/miscutils/crond.c | |||
@@ -13,22 +13,7 @@ | |||
13 | #define VERSION "2.3.2" | 13 | #define VERSION "2.3.2" |
14 | 14 | ||
15 | #include "busybox.h" | 15 | #include "busybox.h" |
16 | #include <stdio.h> | 16 | #include <sys/syslog.h> |
17 | #include <stdlib.h> | ||
18 | #include <stdarg.h> | ||
19 | #include <string.h> | ||
20 | #include <errno.h> | ||
21 | #include <time.h> | ||
22 | #include <dirent.h> | ||
23 | #include <fcntl.h> | ||
24 | #include <unistd.h> | ||
25 | #include <syslog.h> | ||
26 | #include <signal.h> | ||
27 | #include <getopt.h> | ||
28 | #include <sys/ioctl.h> | ||
29 | #include <sys/wait.h> | ||
30 | #include <sys/stat.h> | ||
31 | #include <sys/resource.h> | ||
32 | 17 | ||
33 | #define arysize(ary) (sizeof(ary)/sizeof((ary)[0])) | 18 | #define arysize(ary) (sizeof(ary)/sizeof((ary)[0])) |
34 | 19 | ||
@@ -193,7 +178,7 @@ int crond_main(int ac, char **av) | |||
193 | * change directory | 178 | * change directory |
194 | */ | 179 | */ |
195 | 180 | ||
196 | bb_xchdir(CDir); | 181 | xchdir(CDir); |
197 | signal(SIGHUP, SIG_IGN); /* hmm.. but, if kill -HUP original | 182 | signal(SIGHUP, SIG_IGN); /* hmm.. but, if kill -HUP original |
198 | * version - his died. ;( | 183 | * version - his died. ;( |
199 | */ | 184 | */ |
@@ -208,7 +193,7 @@ int crond_main(int ac, char **av) | |||
208 | /* reexec for vfork() do continue parent */ | 193 | /* reexec for vfork() do continue parent */ |
209 | vfork_daemon_rexec(1, 0, ac, av, "-f"); | 194 | vfork_daemon_rexec(1, 0, ac, av, "-f"); |
210 | #else | 195 | #else |
211 | bb_xdaemon(1, 0); | 196 | xdaemon(1, 0); |
212 | #endif | 197 | #endif |
213 | } | 198 | } |
214 | 199 | ||
diff --git a/miscutils/crontab.c b/miscutils/crontab.c index 0ed59b0dc..a8e650c60 100644 --- a/miscutils/crontab.c +++ b/miscutils/crontab.c | |||
@@ -11,22 +11,6 @@ | |||
11 | */ | 11 | */ |
12 | 12 | ||
13 | #include "busybox.h" | 13 | #include "busybox.h" |
14 | #include <stdio.h> | ||
15 | #include <stdlib.h> | ||
16 | #include <stdarg.h> | ||
17 | #include <string.h> | ||
18 | #include <errno.h> | ||
19 | #include <time.h> | ||
20 | #include <dirent.h> | ||
21 | #include <fcntl.h> | ||
22 | #include <unistd.h> | ||
23 | #include <syslog.h> | ||
24 | #include <signal.h> | ||
25 | #include <getopt.h> | ||
26 | #include <sys/ioctl.h> | ||
27 | #include <sys/wait.h> | ||
28 | #include <sys/stat.h> | ||
29 | #include <sys/resource.h> | ||
30 | 14 | ||
31 | #ifndef CRONTABS | 15 | #ifndef CRONTABS |
32 | #define CRONTABS "/var/spool/cron/crontabs" | 16 | #define CRONTABS "/var/spool/cron/crontabs" |
@@ -47,8 +31,7 @@ static void EditFile(const char *user, const char *file); | |||
47 | static int GetReplaceStream(const char *user, const char *file); | 31 | static int GetReplaceStream(const char *user, const char *file); |
48 | static int ChangeUser(const char *user, short dochdir); | 32 | static int ChangeUser(const char *user, short dochdir); |
49 | 33 | ||
50 | int | 34 | int crontab_main(int ac, char **av) |
51 | crontab_main(int ac, char **av) | ||
52 | { | 35 | { |
53 | enum { NONE, EDIT, LIST, REPLACE, DELETE } option = NONE; | 36 | enum { NONE, EDIT, LIST, REPLACE, DELETE } option = NONE; |
54 | const struct passwd *pas; | 37 | const struct passwd *pas; |
@@ -147,7 +130,7 @@ crontab_main(int ac, char **av) | |||
147 | * Change directory to our crontab directory | 130 | * Change directory to our crontab directory |
148 | */ | 131 | */ |
149 | 132 | ||
150 | bb_xchdir(CDir); | 133 | xchdir(CDir); |
151 | 134 | ||
152 | /* | 135 | /* |
153 | * Handle options as appropriate | 136 | * Handle options as appropriate |
@@ -177,7 +160,7 @@ crontab_main(int ac, char **av) | |||
177 | char buf[1024]; | 160 | char buf[1024]; |
178 | 161 | ||
179 | snprintf(tmp, sizeof(tmp), TMPDIR "/crontab.%d", getpid()); | 162 | snprintf(tmp, sizeof(tmp), TMPDIR "/crontab.%d", getpid()); |
180 | fd = bb_xopen3(tmp, O_RDWR|O_CREAT|O_TRUNC|O_EXCL, 0600); | 163 | fd = xopen3(tmp, O_RDWR|O_CREAT|O_TRUNC|O_EXCL, 0600); |
181 | chown(tmp, getuid(), getgid()); | 164 | chown(tmp, getuid(), getgid()); |
182 | if ((fi = fopen(pas->pw_name, "r"))) { | 165 | if ((fi = fopen(pas->pw_name, "r"))) { |
183 | while ((n = fread(buf, 1, sizeof(buf), fi)) > 0) | 166 | while ((n = fread(buf, 1, sizeof(buf), fi)) > 0) |
@@ -244,8 +227,7 @@ crontab_main(int ac, char **av) | |||
244 | return 0; | 227 | return 0; |
245 | } | 228 | } |
246 | 229 | ||
247 | static int | 230 | static int GetReplaceStream(const char *user, const char *file) |
248 | GetReplaceStream(const char *user, const char *file) | ||
249 | { | 231 | { |
250 | int filedes[2]; | 232 | int filedes[2]; |
251 | int pid; | 233 | int pid; |
@@ -284,7 +266,7 @@ GetReplaceStream(const char *user, const char *file) | |||
284 | exit(0); | 266 | exit(0); |
285 | 267 | ||
286 | bb_default_error_retval = 0; | 268 | bb_default_error_retval = 0; |
287 | fd = bb_xopen3(file, O_RDONLY, 0); | 269 | fd = xopen3(file, O_RDONLY, 0); |
288 | buf[0] = 0; | 270 | buf[0] = 0; |
289 | write(filedes[1], buf, 1); | 271 | write(filedes[1], buf, 1); |
290 | while ((n = read(fd, buf, sizeof(buf))) > 0) { | 272 | while ((n = read(fd, buf, sizeof(buf))) > 0) { |
@@ -293,8 +275,7 @@ GetReplaceStream(const char *user, const char *file) | |||
293 | exit(0); | 275 | exit(0); |
294 | } | 276 | } |
295 | 277 | ||
296 | static void | 278 | static void EditFile(const char *user, const char *file) |
297 | EditFile(const char *user, const char *file) | ||
298 | { | 279 | { |
299 | int pid; | 280 | int pid; |
300 | 281 | ||
@@ -324,8 +305,7 @@ EditFile(const char *user, const char *file) | |||
324 | wait4(pid, NULL, 0, NULL); | 305 | wait4(pid, NULL, 0, NULL); |
325 | } | 306 | } |
326 | 307 | ||
327 | static int | 308 | static int ChangeUser(const char *user, short dochdir) |
328 | ChangeUser(const char *user, short dochdir) | ||
329 | { | 309 | { |
330 | struct passwd *pas; | 310 | struct passwd *pas; |
331 | 311 | ||
@@ -349,7 +329,7 @@ ChangeUser(const char *user, short dochdir) | |||
349 | if (dochdir) { | 329 | if (dochdir) { |
350 | if (chdir(pas->pw_dir) < 0) { | 330 | if (chdir(pas->pw_dir) < 0) { |
351 | bb_perror_msg("chdir failed: %s %s", user, pas->pw_dir); | 331 | bb_perror_msg("chdir failed: %s %s", user, pas->pw_dir); |
352 | bb_xchdir(TMPDIR); | 332 | xchdir(TMPDIR); |
353 | } | 333 | } |
354 | } | 334 | } |
355 | return(pas->pw_uid); | 335 | return(pas->pw_uid); |
diff --git a/miscutils/devfsd.c b/miscutils/devfsd.c index 39f04780a..0f36970f9 100644 --- a/miscutils/devfsd.c +++ b/miscutils/devfsd.c | |||
@@ -475,7 +475,7 @@ int devfsd_main (int argc, char **argv) | |||
475 | if (chdir (mount_point) != 0) | 475 | if (chdir (mount_point) != 0) |
476 | devfsd_perror_msg_and_die(mount_point); | 476 | devfsd_perror_msg_and_die(mount_point); |
477 | 477 | ||
478 | fd = bb_xopen (".devfsd", O_RDONLY); | 478 | fd = xopen (".devfsd", O_RDONLY); |
479 | 479 | ||
480 | if (fcntl (fd, F_SETFD, FD_CLOEXEC) != 0) | 480 | if (fcntl (fd, F_SETFD, FD_CLOEXEC) != 0) |
481 | devfsd_perror_msg_and_die("FD_CLOEXEC"); | 481 | devfsd_perror_msg_and_die("FD_CLOEXEC"); |
@@ -704,7 +704,7 @@ static void process_config_line (const char *line, unsigned long *event_mask) | |||
704 | num_args -= 3; | 704 | num_args -= 3; |
705 | 705 | ||
706 | for (count = 0; count < num_args; ++count) | 706 | for (count = 0; count < num_args; ++count) |
707 | new->u.execute.argv[count] = bb_xstrdup (p[count]); | 707 | new->u.execute.argv[count] = xstrdup (p[count]); |
708 | 708 | ||
709 | new->u.execute.argv[num_args] = NULL; | 709 | new->u.execute.argv[num_args] = NULL; |
710 | break; | 710 | break; |
@@ -714,8 +714,8 @@ static void process_config_line (const char *line, unsigned long *event_mask) | |||
714 | if (num_args != 2) | 714 | if (num_args != 2) |
715 | goto process_config_line_err; /* missing path and function in line */ | 715 | goto process_config_line_err; /* missing path and function in line */ |
716 | 716 | ||
717 | new->u.copy.source = bb_xstrdup (p[0]); | 717 | new->u.copy.source = xstrdup (p[0]); |
718 | new->u.copy.destination = bb_xstrdup (p[1]); | 718 | new->u.copy.destination = xstrdup (p[1]); |
719 | break; | 719 | break; |
720 | case 8: /* IGNORE */ | 720 | case 8: /* IGNORE */ |
721 | /* FALLTROUGH */ | 721 | /* FALLTROUGH */ |
diff --git a/miscutils/hdparm.c b/miscutils/hdparm.c index 925644e1f..aea96d622 100644 --- a/miscutils/hdparm.c +++ b/miscutils/hdparm.c | |||
@@ -13,22 +13,8 @@ | |||
13 | */ | 13 | */ |
14 | 14 | ||
15 | #include "busybox.h" | 15 | #include "busybox.h" |
16 | #include <string.h> | ||
17 | #include <fcntl.h> | ||
18 | #include <errno.h> | ||
19 | #include <ctype.h> | ||
20 | #include <sys/ioctl.h> | ||
21 | #include <sys/sysmacros.h> | ||
22 | #include <sys/times.h> | ||
23 | #include <sys/mman.h> | ||
24 | #include <linux/types.h> | ||
25 | #include <linux/hdreg.h> | 16 | #include <linux/hdreg.h> |
26 | 17 | ||
27 | #if BB_BIG_ENDIAN && !defined(__USE_XOPEN) | ||
28 | # define __USE_XOPEN | ||
29 | #endif | ||
30 | #include <unistd.h> | ||
31 | |||
32 | /* device types */ | 18 | /* device types */ |
33 | /* ------------ */ | 19 | /* ------------ */ |
34 | #define NO_DEV 0xffff | 20 | #define NO_DEV 0xffff |
@@ -1619,7 +1605,7 @@ static void process_dev(char *devname) | |||
1619 | unsigned char args[4] = {WIN_SETFEATURES,0,0,0}; | 1605 | unsigned char args[4] = {WIN_SETFEATURES,0,0,0}; |
1620 | const char *fmt = " %s\t= %2ld"; | 1606 | const char *fmt = " %s\t= %2ld"; |
1621 | 1607 | ||
1622 | fd = bb_xopen(devname, O_RDONLY|O_NONBLOCK); | 1608 | fd = xopen(devname, O_RDONLY|O_NONBLOCK); |
1623 | printf("\n%s:\n", devname); | 1609 | printf("\n%s:\n", devname); |
1624 | 1610 | ||
1625 | if (set_readahead) | 1611 | if (set_readahead) |
diff --git a/miscutils/last.c b/miscutils/last.c index 47c18ffa0..6e35879f3 100644 --- a/miscutils/last.c +++ b/miscutils/last.c | |||
@@ -8,15 +8,7 @@ | |||
8 | */ | 8 | */ |
9 | 9 | ||
10 | #include "busybox.h" | 10 | #include "busybox.h" |
11 | #include <sys/types.h> | ||
12 | #include <fcntl.h> | ||
13 | #include <unistd.h> | ||
14 | #include <stdlib.h> | ||
15 | #include <utmp.h> | 11 | #include <utmp.h> |
16 | #include <sys/stat.h> | ||
17 | #include <errno.h> | ||
18 | #include <string.h> | ||
19 | #include <time.h> | ||
20 | 12 | ||
21 | #ifndef SHUTDOWN_TIME | 13 | #ifndef SHUTDOWN_TIME |
22 | # define SHUTDOWN_TIME 254 | 14 | # define SHUTDOWN_TIME 254 |
@@ -43,7 +35,7 @@ int last_main(int argc, char **argv) | |||
43 | if (argc > 1) { | 35 | if (argc > 1) { |
44 | bb_show_usage(); | 36 | bb_show_usage(); |
45 | } | 37 | } |
46 | file = bb_xopen(bb_path_wtmp_file, O_RDONLY); | 38 | file = xopen(bb_path_wtmp_file, O_RDONLY); |
47 | 39 | ||
48 | printf("%-10s %-14s %-18s %-12.12s %s\n", "USER", "TTY", "HOST", "LOGIN", "TIME"); | 40 | printf("%-10s %-14s %-18s %-12.12s %s\n", "USER", "TTY", "HOST", "LOGIN", "TIME"); |
49 | while ((n = safe_read(file, (void*)&ut, sizeof(struct utmp))) != 0) { | 41 | while ((n = safe_read(file, (void*)&ut, sizeof(struct utmp))) != 0) { |
diff --git a/miscutils/less.c b/miscutils/less.c index 596490483..9dd9b9e56 100644 --- a/miscutils/less.c +++ b/miscutils/less.c | |||
@@ -31,12 +31,6 @@ | |||
31 | */ | 31 | */ |
32 | 32 | ||
33 | #include "busybox.h" | 33 | #include "busybox.h" |
34 | #include <stdio.h> | ||
35 | #include <stdlib.h> | ||
36 | #include <string.h> | ||
37 | #include <termios.h> | ||
38 | #include <unistd.h> | ||
39 | #include <ctype.h> | ||
40 | 34 | ||
41 | #ifdef CONFIG_FEATURE_LESS_REGEXP | 35 | #ifdef CONFIG_FEATURE_LESS_REGEXP |
42 | #include "xregex.h" | 36 | #include "xregex.h" |
@@ -196,7 +190,7 @@ static void add_linenumbers(void) | |||
196 | 190 | ||
197 | for (i = 0; i <= num_flines; i++) { | 191 | for (i = 0; i <= num_flines; i++) { |
198 | safe_strncpy(current_line, flines[i], 256); | 192 | safe_strncpy(current_line, flines[i], 256); |
199 | flines[i] = bb_xasprintf("%5d %s", i + 1, current_line); | 193 | flines[i] = xasprintf("%5d %s", i + 1, current_line); |
200 | } | 194 | } |
201 | } | 195 | } |
202 | 196 | ||
@@ -206,15 +200,15 @@ static void data_readlines(void) | |||
206 | char current_line[256]; | 200 | char current_line[256]; |
207 | FILE *fp; | 201 | FILE *fp; |
208 | 202 | ||
209 | fp = (inp_stdin) ? stdin : bb_xfopen(filename, "r"); | 203 | fp = (inp_stdin) ? stdin : xfopen(filename, "r"); |
210 | flines = NULL; | 204 | flines = NULL; |
211 | for (i = 0; (feof(fp)==0) && (i <= MAXLINES); i++) { | 205 | for (i = 0; (feof(fp)==0) && (i <= MAXLINES); i++) { |
212 | strcpy(current_line, ""); | 206 | strcpy(current_line, ""); |
213 | fgets(current_line, 256, fp); | 207 | fgets(current_line, 256, fp); |
214 | if (fp != stdin) | 208 | if (fp != stdin) |
215 | bb_xferror(fp, filename); | 209 | xferror(fp, filename); |
216 | flines = xrealloc(flines, (i+1) * sizeof(char *)); | 210 | flines = xrealloc(flines, (i+1) * sizeof(char *)); |
217 | flines[i] = bb_xstrdup(current_line); | 211 | flines[i] = xstrdup(current_line); |
218 | } | 212 | } |
219 | num_flines = i - 2; | 213 | num_flines = i - 2; |
220 | 214 | ||
@@ -226,7 +220,7 @@ static void data_readlines(void) | |||
226 | fclose(fp); | 220 | fclose(fp); |
227 | 221 | ||
228 | if (inp == NULL) | 222 | if (inp == NULL) |
229 | inp = (inp_stdin) ? bb_xfopen(CURRENT_TTY, "r") : stdin; | 223 | inp = (inp_stdin) ? xfopen(CURRENT_TTY, "r") : stdin; |
230 | 224 | ||
231 | if (flags & FLAG_N) | 225 | if (flags & FLAG_N) |
232 | add_linenumbers(); | 226 | add_linenumbers(); |
@@ -357,12 +351,12 @@ static void buffer_init(void) | |||
357 | /* Fill the buffer until the end of the file or the | 351 | /* Fill the buffer until the end of the file or the |
358 | end of the buffer is reached */ | 352 | end of the buffer is reached */ |
359 | for (i = 0; (i < (height - 1)) && (i <= num_flines); i++) { | 353 | for (i = 0; (i < (height - 1)) && (i <= num_flines); i++) { |
360 | buffer[i] = bb_xstrdup(flines[i]); | 354 | buffer[i] = xstrdup(flines[i]); |
361 | } | 355 | } |
362 | 356 | ||
363 | /* If the buffer still isn't full, fill it with blank lines */ | 357 | /* If the buffer still isn't full, fill it with blank lines */ |
364 | for (; i < (height - 1); i++) { | 358 | for (; i < (height - 1); i++) { |
365 | buffer[i] = bb_xstrdup(""); | 359 | buffer[i] = xstrdup(""); |
366 | } | 360 | } |
367 | } | 361 | } |
368 | 362 | ||
@@ -376,7 +370,7 @@ static void buffer_down(int nlines) | |||
376 | line_pos += nlines; | 370 | line_pos += nlines; |
377 | for (i = 0; i < (height - 1); i++) { | 371 | for (i = 0; i < (height - 1); i++) { |
378 | free(buffer[i]); | 372 | free(buffer[i]); |
379 | buffer[i] = bb_xstrdup(flines[line_pos + i]); | 373 | buffer[i] = xstrdup(flines[line_pos + i]); |
380 | } | 374 | } |
381 | } | 375 | } |
382 | else { | 376 | else { |
@@ -386,7 +380,7 @@ static void buffer_down(int nlines) | |||
386 | line_pos += 1; | 380 | line_pos += 1; |
387 | for (i = 0; i < (height - 1); i++) { | 381 | for (i = 0; i < (height - 1); i++) { |
388 | free(buffer[i]); | 382 | free(buffer[i]); |
389 | buffer[i] = bb_xstrdup(flines[line_pos + i]); | 383 | buffer[i] = xstrdup(flines[line_pos + i]); |
390 | } | 384 | } |
391 | } | 385 | } |
392 | } | 386 | } |
@@ -407,7 +401,7 @@ static void buffer_up(int nlines) | |||
407 | line_pos -= nlines; | 401 | line_pos -= nlines; |
408 | for (i = 0; i < (height - 1); i++) { | 402 | for (i = 0; i < (height - 1); i++) { |
409 | free(buffer[i]); | 403 | free(buffer[i]); |
410 | buffer[i] = bb_xstrdup(flines[line_pos + i]); | 404 | buffer[i] = xstrdup(flines[line_pos + i]); |
411 | } | 405 | } |
412 | } | 406 | } |
413 | else { | 407 | else { |
@@ -417,7 +411,7 @@ static void buffer_up(int nlines) | |||
417 | line_pos -= 1; | 411 | line_pos -= 1; |
418 | for (i = 0; i < (height - 1); i++) { | 412 | for (i = 0; i < (height - 1); i++) { |
419 | free(buffer[i]); | 413 | free(buffer[i]); |
420 | buffer[i] = bb_xstrdup(flines[line_pos + i]); | 414 | buffer[i] = xstrdup(flines[line_pos + i]); |
421 | } | 415 | } |
422 | } | 416 | } |
423 | } | 417 | } |
@@ -439,10 +433,10 @@ static void buffer_up(int nlines) | |||
439 | for (i = 0; i < (height - 1); i++) { | 433 | for (i = 0; i < (height - 1); i++) { |
440 | free(buffer[i]); | 434 | free(buffer[i]); |
441 | if (i < tilde_line - nlines + 1) | 435 | if (i < tilde_line - nlines + 1) |
442 | buffer[i] = bb_xstrdup(flines[line_pos + i]); | 436 | buffer[i] = xstrdup(flines[line_pos + i]); |
443 | else { | 437 | else { |
444 | if (line_pos >= num_flines - height + 2) | 438 | if (line_pos >= num_flines - height + 2) |
445 | buffer[i] = bb_xstrdup("~\n"); | 439 | buffer[i] = xstrdup("~\n"); |
446 | } | 440 | } |
447 | } | 441 | } |
448 | } | 442 | } |
@@ -461,7 +455,7 @@ static void buffer_line(int linenum) | |||
461 | else if (linenum < (num_flines - height - 2)) { | 455 | else if (linenum < (num_flines - height - 2)) { |
462 | for (i = 0; i < (height - 1); i++) { | 456 | for (i = 0; i < (height - 1); i++) { |
463 | free(buffer[i]); | 457 | free(buffer[i]); |
464 | buffer[i] = bb_xstrdup(flines[linenum + i]); | 458 | buffer[i] = xstrdup(flines[linenum + i]); |
465 | } | 459 | } |
466 | line_pos = linenum; | 460 | line_pos = linenum; |
467 | buffer_print(); | 461 | buffer_print(); |
@@ -470,9 +464,9 @@ static void buffer_line(int linenum) | |||
470 | for (i = 0; i < (height - 1); i++) { | 464 | for (i = 0; i < (height - 1); i++) { |
471 | free(buffer[i]); | 465 | free(buffer[i]); |
472 | if (linenum + i < num_flines + 2) | 466 | if (linenum + i < num_flines + 2) |
473 | buffer[i] = bb_xstrdup(flines[linenum + i]); | 467 | buffer[i] = xstrdup(flines[linenum + i]); |
474 | else | 468 | else |
475 | buffer[i] = bb_xstrdup((flags & FLAG_TILDE) ? "\n" : "~\n"); | 469 | buffer[i] = xstrdup((flags & FLAG_TILDE) ? "\n" : "~\n"); |
476 | } | 470 | } |
477 | line_pos = linenum; | 471 | line_pos = linenum; |
478 | /* Set past_eof so buffer_down and buffer_up act differently */ | 472 | /* Set past_eof so buffer_down and buffer_up act differently */ |
@@ -508,7 +502,7 @@ static void examine_file(void) | |||
508 | newline_offset = strlen(filename) - 1; | 502 | newline_offset = strlen(filename) - 1; |
509 | filename[newline_offset] = '\0'; | 503 | filename[newline_offset] = '\0'; |
510 | 504 | ||
511 | files[num_files] = bb_xstrdup(filename); | 505 | files[num_files] = xstrdup(filename); |
512 | current_file = num_files + 1; | 506 | current_file = num_files + 1; |
513 | num_files++; | 507 | num_files++; |
514 | 508 | ||
@@ -612,7 +606,7 @@ static char *process_regex_on_line(char *line, regex_t *pattern, int action) | |||
612 | char *growline = ""; | 606 | char *growline = ""; |
613 | regmatch_t match_structs; | 607 | regmatch_t match_structs; |
614 | 608 | ||
615 | line2 = bb_xstrdup(line); | 609 | line2 = xstrdup(line); |
616 | 610 | ||
617 | match_found = 0; | 611 | match_found = 0; |
618 | match_status = regexec(pattern, line2, 1, &match_structs, 0); | 612 | match_status = regexec(pattern, line2, 1, &match_structs, 0); |
@@ -622,17 +616,17 @@ static char *process_regex_on_line(char *line, regex_t *pattern, int action) | |||
622 | match_found = 1; | 616 | match_found = 1; |
623 | 617 | ||
624 | if (action) { | 618 | if (action) { |
625 | growline = bb_xasprintf("%s%.*s%s%.*s%s", growline, match_structs.rm_so, line2, HIGHLIGHT, match_structs.rm_eo - match_structs.rm_so, line2 + match_structs.rm_so, NORMAL); | 619 | growline = xasprintf("%s%.*s%s%.*s%s", growline, match_structs.rm_so, line2, HIGHLIGHT, match_structs.rm_eo - match_structs.rm_so, line2 + match_structs.rm_so, NORMAL); |
626 | } | 620 | } |
627 | else { | 621 | else { |
628 | growline = bb_xasprintf("%s%.*s%.*s", growline, match_structs.rm_so - 4, line2, match_structs.rm_eo - match_structs.rm_so, line2 + match_structs.rm_so); | 622 | growline = xasprintf("%s%.*s%.*s", growline, match_structs.rm_so - 4, line2, match_structs.rm_eo - match_structs.rm_so, line2 + match_structs.rm_so); |
629 | } | 623 | } |
630 | 624 | ||
631 | line2 += match_structs.rm_eo; | 625 | line2 += match_structs.rm_eo; |
632 | match_status = regexec(pattern, line2, 1, &match_structs, REG_NOTBOL); | 626 | match_status = regexec(pattern, line2, 1, &match_structs, REG_NOTBOL); |
633 | } | 627 | } |
634 | 628 | ||
635 | growline = bb_xasprintf("%s%s", growline, line2); | 629 | growline = xasprintf("%s%s", growline, line2); |
636 | 630 | ||
637 | return (match_found ? growline : line); | 631 | return (match_found ? growline : line); |
638 | 632 | ||
@@ -679,7 +673,7 @@ static void regex_process(void) | |||
679 | /* Get rid of all the highlights we added previously */ | 673 | /* Get rid of all the highlights we added previously */ |
680 | for (i = 0; i <= num_flines; i++) { | 674 | for (i = 0; i <= num_flines; i++) { |
681 | current_line = process_regex_on_line(flines[i], &old_pattern, 0); | 675 | current_line = process_regex_on_line(flines[i], &old_pattern, 0); |
682 | flines[i] = bb_xstrdup(current_line); | 676 | flines[i] = xstrdup(current_line); |
683 | } | 677 | } |
684 | } | 678 | } |
685 | old_pattern = pattern; | 679 | old_pattern = pattern; |
@@ -693,7 +687,7 @@ static void regex_process(void) | |||
693 | /* Run the regex on each line of the current file here */ | 687 | /* Run the regex on each line of the current file here */ |
694 | for (i = 0; i <= num_flines; i++) { | 688 | for (i = 0; i <= num_flines; i++) { |
695 | current_line = process_regex_on_line(flines[i], &pattern, 1); | 689 | current_line = process_regex_on_line(flines[i], &pattern, 1); |
696 | flines[i] = bb_xstrdup(current_line); | 690 | flines[i] = xstrdup(current_line); |
697 | if (match_found) { | 691 | if (match_found) { |
698 | match_lines = xrealloc(match_lines, (j + 1) * sizeof(int)); | 692 | match_lines = xrealloc(match_lines, (j + 1) * sizeof(int)); |
699 | match_lines[j] = i; | 693 | match_lines[j] = i; |
@@ -864,7 +858,7 @@ static void save_input_to_file(void) | |||
864 | fgets(current_line, 256, inp); | 858 | fgets(current_line, 256, inp); |
865 | current_line[strlen(current_line) - 1] = '\0'; | 859 | current_line[strlen(current_line) - 1] = '\0'; |
866 | if (strlen(current_line) > 1) { | 860 | if (strlen(current_line) > 1) { |
867 | fp = bb_xfopen(current_line, "w"); | 861 | fp = xfopen(current_line, "w"); |
868 | for (i = 0; i < num_flines; i++) | 862 | for (i = 0; i < num_flines; i++) |
869 | fprintf(fp, "%s", flines[i]); | 863 | fprintf(fp, "%s", flines[i]); |
870 | fclose(fp); | 864 | fclose(fp); |
diff --git a/miscutils/makedevs.c b/miscutils/makedevs.c index 776bcaa8d..0ebb0538f 100644 --- a/miscutils/makedevs.c +++ b/miscutils/makedevs.c | |||
@@ -8,15 +8,6 @@ | |||
8 | */ | 8 | */ |
9 | 9 | ||
10 | #include "busybox.h" | 10 | #include "busybox.h" |
11 | #include <stdio.h> | ||
12 | #include <stdlib.h> | ||
13 | #include <string.h> | ||
14 | #include <fcntl.h> | ||
15 | #include <time.h> | ||
16 | #include <ctype.h> | ||
17 | #include <unistd.h> | ||
18 | #include <sys/types.h> | ||
19 | #include <sys/sysmacros.h> /* major() and minor() */ | ||
20 | 11 | ||
21 | #ifdef CONFIG_FEATURE_MAKEDEVS_LEAF | 12 | #ifdef CONFIG_FEATURE_MAKEDEVS_LEAF |
22 | int makedevs_main(int argc, char **argv) | 13 | int makedevs_main(int argc, char **argv) |
@@ -88,13 +79,13 @@ int makedevs_main(int argc, char **argv) | |||
88 | unsigned long flags; | 79 | unsigned long flags; |
89 | flags = bb_getopt_ulflags(argc, argv, "d:", &line); | 80 | flags = bb_getopt_ulflags(argc, argv, "d:", &line); |
90 | if (line) | 81 | if (line) |
91 | table = bb_xfopen(line, "r"); | 82 | table = xfopen(line, "r"); |
92 | 83 | ||
93 | if (optind >= argc || (rootdir=argv[optind])==NULL) { | 84 | if (optind >= argc || (rootdir=argv[optind])==NULL) { |
94 | bb_error_msg_and_die("root directory not specified"); | 85 | bb_error_msg_and_die("root directory not specified"); |
95 | } | 86 | } |
96 | 87 | ||
97 | bb_xchdir(rootdir); | 88 | xchdir(rootdir); |
98 | 89 | ||
99 | umask(0); | 90 | umask(0); |
100 | 91 | ||
diff --git a/miscutils/mountpoint.c b/miscutils/mountpoint.c index 6265a20e1..3e5fb4b46 100644 --- a/miscutils/mountpoint.c +++ b/miscutils/mountpoint.c | |||
@@ -10,10 +10,6 @@ | |||
10 | */ | 10 | */ |
11 | 11 | ||
12 | #include "busybox.h" | 12 | #include "busybox.h" |
13 | #include <sys/stat.h> | ||
14 | #include <errno.h> /* errno */ | ||
15 | #include <string.h> /* strerror */ | ||
16 | #include <getopt.h> /* optind */ | ||
17 | 13 | ||
18 | int mountpoint_main(int argc, char **argv) | 14 | int mountpoint_main(int argc, char **argv) |
19 | { | 15 | { |
@@ -46,7 +42,7 @@ int mountpoint_main(int argc, char **argv) | |||
46 | if (S_ISDIR(st.st_mode)) { | 42 | if (S_ISDIR(st.st_mode)) { |
47 | dev_t st_dev = st.st_dev; | 43 | dev_t st_dev = st.st_dev; |
48 | ino_t st_ino = st.st_ino; | 44 | ino_t st_ino = st.st_ino; |
49 | char *p = bb_xasprintf("%s/..", arg); | 45 | char *p = xasprintf("%s/..", arg); |
50 | 46 | ||
51 | if (stat(p, &st) == 0) { | 47 | if (stat(p, &st) == 0) { |
52 | short ret = (st_dev != st.st_dev) || | 48 | short ret = (st_dev != st.st_dev) || |
diff --git a/miscutils/mt.c b/miscutils/mt.c index 2720f7eab..f562a91a2 100644 --- a/miscutils/mt.c +++ b/miscutils/mt.c | |||
@@ -4,11 +4,7 @@ | |||
4 | */ | 4 | */ |
5 | 5 | ||
6 | #include "busybox.h" | 6 | #include "busybox.h" |
7 | #include <stdio.h> | ||
8 | #include <stdlib.h> | ||
9 | #include <string.h> | ||
10 | #include <sys/mtio.h> | 7 | #include <sys/mtio.h> |
11 | #include <fcntl.h> | ||
12 | 8 | ||
13 | struct mt_opcodes { | 9 | struct mt_opcodes { |
14 | char *name; | 10 | char *name; |
@@ -105,7 +101,7 @@ int mt_main(int argc, char **argv) | |||
105 | break; | 101 | break; |
106 | } | 102 | } |
107 | 103 | ||
108 | fd = bb_xopen3(file, mode, 0); | 104 | fd = xopen3(file, mode, 0); |
109 | 105 | ||
110 | switch (code->value) { | 106 | switch (code->value) { |
111 | case MTTELL: | 107 | case MTTELL: |
diff --git a/miscutils/rx.c b/miscutils/rx.c index 41673b60e..4cc4913e6 100644 --- a/miscutils/rx.c +++ b/miscutils/rx.c | |||
@@ -21,18 +21,6 @@ | |||
21 | */ | 21 | */ |
22 | 22 | ||
23 | #include "busybox.h" | 23 | #include "busybox.h" |
24 | #include <stdlib.h> | ||
25 | #include <stdarg.h> | ||
26 | #include <stdio.h> | ||
27 | #include <unistd.h> | ||
28 | #include <errno.h> | ||
29 | #include <termios.h> | ||
30 | #include <signal.h> | ||
31 | #include <sys/types.h> | ||
32 | #include <sys/stat.h> | ||
33 | #include <fcntl.h> | ||
34 | #include <string.h> | ||
35 | |||
36 | 24 | ||
37 | #define SOH 0x01 | 25 | #define SOH 0x01 |
38 | #define STX 0x02 | 26 | #define STX 0x02 |
@@ -274,8 +262,8 @@ int rx_main(int argc, char **argv) | |||
274 | bb_show_usage(); | 262 | bb_show_usage(); |
275 | 263 | ||
276 | fn = argv[1]; | 264 | fn = argv[1]; |
277 | ttyfd = bb_xopen3(CURRENT_TTY, O_RDWR, 0); | 265 | ttyfd = xopen3(CURRENT_TTY, O_RDWR, 0); |
278 | filefd = bb_xopen3(fn, O_RDWR|O_CREAT|O_TRUNC, 0666); | 266 | filefd = xopen3(fn, O_RDWR|O_CREAT|O_TRUNC, 0666); |
279 | 267 | ||
280 | if (tcgetattr(ttyfd, &tty) < 0) | 268 | if (tcgetattr(ttyfd, &tty) < 0) |
281 | bb_error_msg_and_die("%s: tcgetattr failed: %m\n", argv[0]); | 269 | bb_error_msg_and_die("%s: tcgetattr failed: %m\n", argv[0]); |
diff --git a/miscutils/watchdog.c b/miscutils/watchdog.c index ddd349d9b..ebbab2df3 100644 --- a/miscutils/watchdog.c +++ b/miscutils/watchdog.c | |||
@@ -9,11 +9,6 @@ | |||
9 | */ | 9 | */ |
10 | 10 | ||
11 | #include "busybox.h" | 11 | #include "busybox.h" |
12 | #include <stdio.h> | ||
13 | #include <fcntl.h> | ||
14 | #include <unistd.h> | ||
15 | #include <stdlib.h> | ||
16 | #include <signal.h> | ||
17 | 12 | ||
18 | #define OPT_FOREGROUND 0x01 | 13 | #define OPT_FOREGROUND 0x01 |
19 | #define OPT_TIMER 0x02 | 14 | #define OPT_TIMER 0x02 |
@@ -47,13 +42,13 @@ int watchdog_main(int argc, char **argv) | |||
47 | if (!(opts & OPT_FOREGROUND)) | 42 | if (!(opts & OPT_FOREGROUND)) |
48 | vfork_daemon_rexec(0, 1, argc, argv, "-F"); | 43 | vfork_daemon_rexec(0, 1, argc, argv, "-F"); |
49 | #else | 44 | #else |
50 | bb_xdaemon(0, 1); | 45 | xdaemon(0, 1); |
51 | #endif | 46 | #endif |
52 | 47 | ||
53 | signal(SIGHUP, watchdog_shutdown); | 48 | signal(SIGHUP, watchdog_shutdown); |
54 | signal(SIGINT, watchdog_shutdown); | 49 | signal(SIGINT, watchdog_shutdown); |
55 | 50 | ||
56 | fd = bb_xopen(argv[argc - 1], O_WRONLY); | 51 | fd = xopen(argv[argc - 1], O_WRONLY); |
57 | 52 | ||
58 | while (1) { | 53 | while (1) { |
59 | /* | 54 | /* |