diff options
| author | Erik Andersen <andersen@codepoet.org> | 2000-04-18 00:00:52 +0000 |
|---|---|---|
| committer | Erik Andersen <andersen@codepoet.org> | 2000-04-18 00:00:52 +0000 |
| commit | a6c752201e9031b51a6d89349f1cec1f690f56ef (patch) | |
| tree | 808a54e0dc112d8b32326ccdb411e4300dc65d76 | |
| parent | 91e581fa0438b39ceb0ffb4ddcb90ee4d260ae81 (diff) | |
| download | busybox-w32-a6c752201e9031b51a6d89349f1cec1f690f56ef.tar.gz busybox-w32-a6c752201e9031b51a6d89349f1cec1f690f56ef.tar.bz2 busybox-w32-a6c752201e9031b51a6d89349f1cec1f690f56ef.zip | |
Updates
-Erik
| -rw-r--r-- | Makefile | 8 | ||||
| -rw-r--r-- | applets/busybox.c | 2 | ||||
| -rw-r--r-- | busybox.c | 2 | ||||
| -rw-r--r-- | cmdedit.c | 3 | ||||
| -rw-r--r-- | console-tools/loadfont.c | 8 | ||||
| -rw-r--r-- | docs/Makefile | 6 | ||||
| -rw-r--r-- | docs/busybox.pod | 15 | ||||
| -rw-r--r-- | kill.c | 2 | ||||
| -rw-r--r-- | lash.c | 1 | ||||
| -rw-r--r-- | loadfont.c | 8 | ||||
| -rw-r--r-- | more.c | 22 | ||||
| -rw-r--r-- | procps/kill.c | 2 | ||||
| -rw-r--r-- | sh.c | 1 | ||||
| -rw-r--r-- | shell/cmdedit.c | 3 | ||||
| -rw-r--r-- | shell/lash.c | 1 | ||||
| -rw-r--r-- | sysklogd/syslogd.c | 15 | ||||
| -rw-r--r-- | syslogd.c | 15 | ||||
| -rw-r--r-- | util-linux/more.c | 22 | ||||
| -rw-r--r-- | utility.c | 3 |
19 files changed, 69 insertions, 70 deletions
| @@ -101,12 +101,12 @@ busybox: $(OBJECTS) | |||
| 101 | $(CC) $(LDFLAGS) -o $@ $^ $(LIBRARIES) | 101 | $(CC) $(LDFLAGS) -o $@ $^ $(LIBRARIES) |
| 102 | $(STRIP) | 102 | $(STRIP) |
| 103 | 103 | ||
| 104 | docs: docs/busybox.pod | ||
| 105 | $(MAKE) -C docs clean all | ||
| 106 | |||
| 107 | busybox.links: busybox.def.h | 104 | busybox.links: busybox.def.h |
| 108 | - ./busybox.mkll | sort >$@ | 105 | - ./busybox.mkll | sort >$@ |
| 109 | 106 | ||
| 107 | docs: | ||
| 108 | $(MAKE) -C docs | ||
| 109 | |||
| 110 | regexp.o nfsmount.o: %.o: %.h | 110 | regexp.o nfsmount.o: %.o: %.h |
| 111 | $(OBJECTS): %.o: busybox.def.h internal.h %.c | 111 | $(OBJECTS): %.o: busybox.def.h internal.h %.c |
| 112 | 112 | ||
| @@ -126,7 +126,7 @@ install: busybox busybox.links | |||
| 126 | ./install.sh $(PREFIX) | 126 | ./install.sh $(PREFIX) |
| 127 | 127 | ||
| 128 | dist release: distclean | 128 | dist release: distclean |
| 129 | $(MAKE) -C docs clean all | 129 | $(MAKE) -C docs |
| 130 | cd ..; \ | 130 | cd ..; \ |
| 131 | rm -rf busybox-$(VERSION); \ | 131 | rm -rf busybox-$(VERSION); \ |
| 132 | cp -a busybox busybox-$(VERSION); \ | 132 | cp -a busybox busybox-$(VERSION); \ |
diff --git a/applets/busybox.c b/applets/busybox.c index 15d53eb05..73939c55f 100644 --- a/applets/busybox.c +++ b/applets/busybox.c | |||
| @@ -303,7 +303,7 @@ static const struct Applet applets[] = { | |||
| 303 | {"uname", uname_main, _BB_DIR_BIN}, | 303 | {"uname", uname_main, _BB_DIR_BIN}, |
| 304 | #endif | 304 | #endif |
| 305 | #ifdef BB_UNIQ | 305 | #ifdef BB_UNIQ |
| 306 | {"uniq", uniq_main, _BB_DIR_BIN}, | 306 | {"uniq", uniq_main, _BB_DIR_USR_BIN}, |
| 307 | #endif | 307 | #endif |
| 308 | #ifdef BB_UPDATE | 308 | #ifdef BB_UPDATE |
| 309 | {"update", update_main, _BB_DIR_SBIN}, | 309 | {"update", update_main, _BB_DIR_SBIN}, |
| @@ -303,7 +303,7 @@ static const struct Applet applets[] = { | |||
| 303 | {"uname", uname_main, _BB_DIR_BIN}, | 303 | {"uname", uname_main, _BB_DIR_BIN}, |
| 304 | #endif | 304 | #endif |
| 305 | #ifdef BB_UNIQ | 305 | #ifdef BB_UNIQ |
| 306 | {"uniq", uniq_main, _BB_DIR_BIN}, | 306 | {"uniq", uniq_main, _BB_DIR_USR_BIN}, |
| 307 | #endif | 307 | #endif |
| 308 | #ifdef BB_UPDATE | 308 | #ifdef BB_UPDATE |
| 309 | {"update", update_main, _BB_DIR_SBIN}, | 309 | {"update", update_main, _BB_DIR_SBIN}, |
| @@ -83,6 +83,7 @@ cmdedit_setwidth(int w) | |||
| 83 | void cmdedit_reset_term(void) | 83 | void cmdedit_reset_term(void) |
| 84 | { | 84 | { |
| 85 | if (reset_term) | 85 | if (reset_term) |
| 86 | /* sparc and other have broken termios support: use old termio handling. */ | ||
| 86 | ioctl(fileno(stdin), TCSETA, (void *) &old_term); | 87 | ioctl(fileno(stdin), TCSETA, (void *) &old_term); |
| 87 | } | 88 | } |
| 88 | 89 | ||
| @@ -378,6 +379,7 @@ extern void cmdedit_read_input(char* prompt, char command[BUFSIZ]) | |||
| 378 | 379 | ||
| 379 | memset(command, 0, sizeof(command)); | 380 | memset(command, 0, sizeof(command)); |
| 380 | if (!reset_term) { | 381 | if (!reset_term) { |
| 382 | /* sparc and other have broken termios support: use old termio handling. */ | ||
| 381 | ioctl(inputFd, TCGETA, (void *) &old_term); | 383 | ioctl(inputFd, TCGETA, (void *) &old_term); |
| 382 | memcpy(&new_term, &old_term, sizeof(struct termio)); | 384 | memcpy(&new_term, &old_term, sizeof(struct termio)); |
| 383 | 385 | ||
| @@ -589,6 +591,7 @@ extern void cmdedit_read_input(char* prompt, char command[BUFSIZ]) | |||
| 589 | } | 591 | } |
| 590 | 592 | ||
| 591 | nr = len + 1; | 593 | nr = len + 1; |
| 594 | /* sparc and other have broken termios support: use old termio handling. */ | ||
| 592 | ioctl(inputFd, TCSETA, (void *) &old_term); | 595 | ioctl(inputFd, TCSETA, (void *) &old_term); |
| 593 | reset_term = 0; | 596 | reset_term = 0; |
| 594 | 597 | ||
diff --git a/console-tools/loadfont.c b/console-tools/loadfont.c index 64b725610..0f6afecd4 100644 --- a/console-tools/loadfont.c +++ b/console-tools/loadfont.c | |||
| @@ -30,8 +30,8 @@ | |||
| 30 | #define PSF_MAXMODE 0x03 | 30 | #define PSF_MAXMODE 0x03 |
| 31 | #define PSF_SEPARATOR 0xFFFF | 31 | #define PSF_SEPARATOR 0xFFFF |
| 32 | 32 | ||
| 33 | static const char loadfont_usage[] = "loadfont\n" | 33 | static const char loadfont_usage[] = "loadfont\n\n" |
| 34 | "\n" "\tLoad a console font from standard input.\n" "\n"; | 34 | "Loads a console font from standard input.\n"; |
| 35 | 35 | ||
| 36 | struct psf_header { | 36 | struct psf_header { |
| 37 | unsigned char magic1, magic2; /* Magic number */ | 37 | unsigned char magic1, magic2; /* Magic number */ |
| @@ -47,6 +47,10 @@ extern int loadfont_main(int argc, char **argv) | |||
| 47 | { | 47 | { |
| 48 | int fd; | 48 | int fd; |
| 49 | 49 | ||
| 50 | if (argc>=2 && *argv[1]=='-') { | ||
| 51 | usage(loadfont_usage); | ||
| 52 | } | ||
| 53 | |||
| 50 | fd = open("/dev/tty0", O_RDWR); | 54 | fd = open("/dev/tty0", O_RDWR); |
| 51 | if (fd < 0) { | 55 | if (fd < 0) { |
| 52 | fprintf(stderr, "Error opening /dev/tty0: %s\n", strerror(errno)); | 56 | fprintf(stderr, "Error opening /dev/tty0: %s\n", strerror(errno)); |
diff --git a/docs/Makefile b/docs/Makefile index 10550f6df..472d29e84 100644 --- a/docs/Makefile +++ b/docs/Makefile | |||
| @@ -2,7 +2,7 @@ | |||
| 2 | # ------------------------ | 2 | # ------------------------ |
| 3 | # Copyright (C) 2000 Erik Andersen <andersee@debian.org> GPL | 3 | # Copyright (C) 2000 Erik Andersen <andersee@debian.org> GPL |
| 4 | 4 | ||
| 5 | all:: clean doc | 5 | all: clean doc |
| 6 | 6 | ||
| 7 | doc: | 7 | doc: |
| 8 | @echo | 8 | @echo |
| @@ -14,10 +14,8 @@ doc: | |||
| 14 | pod2text busybox.pod > ../BusyBox.txt | 14 | pod2text busybox.pod > ../BusyBox.txt |
| 15 | @rm -f pod2html* | 15 | @rm -f pod2html* |
| 16 | 16 | ||
| 17 | clean:: | 17 | clean: |
| 18 | @rm -f ../BusyBox.html ../BusyBox.1 ../BusyBox.txt pod2html* | 18 | @rm -f ../BusyBox.html ../BusyBox.1 ../BusyBox.txt pod2html* |
| 19 | 19 | ||
| 20 | distclean: clean | 20 | distclean: clean |
| 21 | 21 | ||
| 22 | .PHONY: all clean distclean doc | ||
| 23 | |||
diff --git a/docs/busybox.pod b/docs/busybox.pod index 06800c301..a946e2857 100644 --- a/docs/busybox.pod +++ b/docs/busybox.pod | |||
| @@ -68,7 +68,7 @@ Example: | |||
| 68 | 68 | ||
| 69 | ------------------------------- | 69 | ------------------------------- |
| 70 | 70 | ||
| 71 | =item cat | 71 | =item cat |
| 72 | 72 | ||
| 73 | Usage: cat [file ...] | 73 | Usage: cat [file ...] |
| 74 | 74 | ||
| @@ -807,19 +807,22 @@ Example: | |||
| 807 | 807 | ||
| 808 | =item loadacm | 808 | =item loadacm |
| 809 | 809 | ||
| 810 | FIXME | 810 | FIXME -- this command does not yet have proper documentation |
| 811 | 811 | ||
| 812 | ------------------------------- | 812 | ------------------------------- |
| 813 | 813 | ||
| 814 | =item loadfont | 814 | =item loadfont |
| 815 | 815 | ||
| 816 | FIXME | 816 | Usage: loadfont |
| 817 | |||
| 818 | Loads a console font from standard input. | ||
| 819 | |||
| 817 | 820 | ||
| 818 | ------------------------------- | 821 | ------------------------------- |
| 819 | 822 | ||
| 820 | =item loadkmap | 823 | =item loadkmap |
| 821 | 824 | ||
| 822 | FIXME | 825 | FIXME -- this command does not yet have proper documentation |
| 823 | 826 | ||
| 824 | ------------------------------- | 827 | ------------------------------- |
| 825 | 828 | ||
| @@ -1294,7 +1297,7 @@ Usage: sh | |||
| 1294 | 1297 | ||
| 1295 | lash -- the BusyBox LAme SHell (command interpreter) | 1298 | lash -- the BusyBox LAme SHell (command interpreter) |
| 1296 | 1299 | ||
| 1297 | FIXME | 1300 | FIXME -- this command does not yet have proper documentation |
| 1298 | 1301 | ||
| 1299 | ------------------------------- | 1302 | ------------------------------- |
| 1300 | 1303 | ||
| @@ -1778,4 +1781,4 @@ Enrique Zanardi <ezanardi@ull.es> | |||
| 1778 | 1781 | ||
| 1779 | =cut | 1782 | =cut |
| 1780 | 1783 | ||
| 1781 | # $Id: busybox.pod,v 1.15 2000/04/17 17:46:46 beppu Exp $ | 1784 | # $Id: busybox.pod,v 1.16 2000/04/18 00:00:52 erik Exp $ |
| @@ -230,6 +230,8 @@ extern int kill_main(int argc, char **argv) | |||
| 230 | for(; pidList && pidList!=0; pidList++) { | 230 | for(; pidList && pidList!=0; pidList++) { |
| 231 | if (kill(*pidList, sig) != 0) | 231 | if (kill(*pidList, sig) != 0) |
| 232 | fatalError( "Could not kill pid '%d': %s\n", *pidList, strerror(errno)); | 232 | fatalError( "Could not kill pid '%d': %s\n", *pidList, strerror(errno)); |
| 233 | else | ||
| 234 | printf("killed %d\n", *pidList); | ||
| 233 | } | 235 | } |
| 234 | /* Note that we don't bother to free the memory | 236 | /* Note that we don't bother to free the memory |
| 235 | * allocated in findPidByName(). It will be freed | 237 | * allocated in findPidByName(). It will be freed |
| @@ -120,7 +120,6 @@ static struct builtInCommand bltins[] = { | |||
| 120 | {"pwd", "Print current directory", "pwd", shell_pwd}, | 120 | {"pwd", "Print current directory", "pwd", shell_pwd}, |
| 121 | {"export", "Set environment variable", "export [VAR=value]", shell_export}, | 121 | {"export", "Set environment variable", "export [VAR=value]", shell_export}, |
| 122 | {"unset", "Unset environment variable", "unset VAR", shell_unset}, | 122 | {"unset", "Unset environment variable", "unset VAR", shell_unset}, |
| 123 | |||
| 124 | {".", "Source-in and run commands in a file", ". filename", shell_source}, | 123 | {".", "Source-in and run commands in a file", ". filename", shell_source}, |
| 125 | {"help", "List shell built-in commands", "help", shell_help}, | 124 | {"help", "List shell built-in commands", "help", shell_help}, |
| 126 | {NULL, NULL, NULL, NULL} | 125 | {NULL, NULL, NULL, NULL} |
diff --git a/loadfont.c b/loadfont.c index 64b725610..0f6afecd4 100644 --- a/loadfont.c +++ b/loadfont.c | |||
| @@ -30,8 +30,8 @@ | |||
| 30 | #define PSF_MAXMODE 0x03 | 30 | #define PSF_MAXMODE 0x03 |
| 31 | #define PSF_SEPARATOR 0xFFFF | 31 | #define PSF_SEPARATOR 0xFFFF |
| 32 | 32 | ||
| 33 | static const char loadfont_usage[] = "loadfont\n" | 33 | static const char loadfont_usage[] = "loadfont\n\n" |
| 34 | "\n" "\tLoad a console font from standard input.\n" "\n"; | 34 | "Loads a console font from standard input.\n"; |
| 35 | 35 | ||
| 36 | struct psf_header { | 36 | struct psf_header { |
| 37 | unsigned char magic1, magic2; /* Magic number */ | 37 | unsigned char magic1, magic2; /* Magic number */ |
| @@ -47,6 +47,10 @@ extern int loadfont_main(int argc, char **argv) | |||
| 47 | { | 47 | { |
| 48 | int fd; | 48 | int fd; |
| 49 | 49 | ||
| 50 | if (argc>=2 && *argv[1]=='-') { | ||
| 51 | usage(loadfont_usage); | ||
| 52 | } | ||
| 53 | |||
| 50 | fd = open("/dev/tty0", O_RDWR); | 54 | fd = open("/dev/tty0", O_RDWR); |
| 51 | if (fd < 0) { | 55 | if (fd < 0) { |
| 52 | fprintf(stderr, "Error opening /dev/tty0: %s\n", strerror(errno)); | 56 | fprintf(stderr, "Error opening /dev/tty0: %s\n", strerror(errno)); |
| @@ -33,25 +33,17 @@ | |||
| 33 | 33 | ||
| 34 | static const char more_usage[] = "more [file ...]\n"; | 34 | static const char more_usage[] = "more [file ...]\n"; |
| 35 | 35 | ||
| 36 | /* ED: sparc termios is broken: revert back to old termio handling. */ | ||
| 37 | #ifdef BB_FEATURE_USE_TERMIOS | 36 | #ifdef BB_FEATURE_USE_TERMIOS |
| 38 | 37 | ||
| 39 | #if #cpu(sparc) | 38 | #include <termio.h> |
| 40 | # define USE_OLD_TERMIO | ||
| 41 | # include <termio.h> | ||
| 42 | # define termios termio | ||
| 43 | # define stty(fd,argp) ioctl(fd,TCSETAF,argp) | ||
| 44 | #else | ||
| 45 | # include <termios.h> | ||
| 46 | # define stty(fd,argp) tcsetattr(fd,TCSANOW,argp) | ||
| 47 | #endif | ||
| 48 | 39 | ||
| 49 | FILE *cin; | 40 | FILE *cin; |
| 50 | struct termios initial_settings, new_settings; | 41 | /* sparc and other have broken termios support: use old termio handling. */ |
| 42 | struct termio initial_settings, new_settings; | ||
| 51 | 43 | ||
| 52 | void gotsig(int sig) | 44 | void gotsig(int sig) |
| 53 | { | 45 | { |
| 54 | stty(fileno(cin), &initial_settings); | 46 | ioctl(fileno(cin), TCSETAF, &initial_settings); |
| 55 | fprintf(stdout, "\n"); | 47 | fprintf(stdout, "\n"); |
| 56 | exit(TRUE); | 48 | exit(TRUE); |
| 57 | } | 49 | } |
| @@ -106,15 +98,11 @@ extern int more_main(int argc, char **argv) | |||
| 106 | cin = fopen("/dev/tty", "r"); | 98 | cin = fopen("/dev/tty", "r"); |
| 107 | if (!cin) | 99 | if (!cin) |
| 108 | cin = fopen("/dev/console", "r"); | 100 | cin = fopen("/dev/console", "r"); |
| 109 | #ifdef USE_OLD_TERMIO | ||
| 110 | ioctl(fileno(cin), TCGETA, &initial_settings); | 101 | ioctl(fileno(cin), TCGETA, &initial_settings); |
| 111 | #else | ||
| 112 | tcgetattr(fileno(cin), &initial_settings); | ||
| 113 | #endif | ||
| 114 | new_settings = initial_settings; | 102 | new_settings = initial_settings; |
| 115 | new_settings.c_lflag &= ~ICANON; | 103 | new_settings.c_lflag &= ~ICANON; |
| 116 | new_settings.c_lflag &= ~ECHO; | 104 | new_settings.c_lflag &= ~ECHO; |
| 117 | stty(fileno(cin), &new_settings); | 105 | ioctl(fileno(cin), TCSETAF, &new_settings); |
| 118 | 106 | ||
| 119 | #ifdef BB_FEATURE_AUTOWIDTH | 107 | #ifdef BB_FEATURE_AUTOWIDTH |
| 120 | ioctl(fileno(stdout), TIOCGWINSZ, &win); | 108 | ioctl(fileno(stdout), TIOCGWINSZ, &win); |
diff --git a/procps/kill.c b/procps/kill.c index db4842457..765a3f683 100644 --- a/procps/kill.c +++ b/procps/kill.c | |||
| @@ -230,6 +230,8 @@ extern int kill_main(int argc, char **argv) | |||
| 230 | for(; pidList && pidList!=0; pidList++) { | 230 | for(; pidList && pidList!=0; pidList++) { |
| 231 | if (kill(*pidList, sig) != 0) | 231 | if (kill(*pidList, sig) != 0) |
| 232 | fatalError( "Could not kill pid '%d': %s\n", *pidList, strerror(errno)); | 232 | fatalError( "Could not kill pid '%d': %s\n", *pidList, strerror(errno)); |
| 233 | else | ||
| 234 | printf("killed %d\n", *pidList); | ||
| 233 | } | 235 | } |
| 234 | /* Note that we don't bother to free the memory | 236 | /* Note that we don't bother to free the memory |
| 235 | * allocated in findPidByName(). It will be freed | 237 | * allocated in findPidByName(). It will be freed |
| @@ -120,7 +120,6 @@ static struct builtInCommand bltins[] = { | |||
| 120 | {"pwd", "Print current directory", "pwd", shell_pwd}, | 120 | {"pwd", "Print current directory", "pwd", shell_pwd}, |
| 121 | {"export", "Set environment variable", "export [VAR=value]", shell_export}, | 121 | {"export", "Set environment variable", "export [VAR=value]", shell_export}, |
| 122 | {"unset", "Unset environment variable", "unset VAR", shell_unset}, | 122 | {"unset", "Unset environment variable", "unset VAR", shell_unset}, |
| 123 | |||
| 124 | {".", "Source-in and run commands in a file", ". filename", shell_source}, | 123 | {".", "Source-in and run commands in a file", ". filename", shell_source}, |
| 125 | {"help", "List shell built-in commands", "help", shell_help}, | 124 | {"help", "List shell built-in commands", "help", shell_help}, |
| 126 | {NULL, NULL, NULL, NULL} | 125 | {NULL, NULL, NULL, NULL} |
diff --git a/shell/cmdedit.c b/shell/cmdedit.c index 1434c36f6..ebc6b9696 100644 --- a/shell/cmdedit.c +++ b/shell/cmdedit.c | |||
| @@ -83,6 +83,7 @@ cmdedit_setwidth(int w) | |||
| 83 | void cmdedit_reset_term(void) | 83 | void cmdedit_reset_term(void) |
| 84 | { | 84 | { |
| 85 | if (reset_term) | 85 | if (reset_term) |
| 86 | /* sparc and other have broken termios support: use old termio handling. */ | ||
| 86 | ioctl(fileno(stdin), TCSETA, (void *) &old_term); | 87 | ioctl(fileno(stdin), TCSETA, (void *) &old_term); |
| 87 | } | 88 | } |
| 88 | 89 | ||
| @@ -378,6 +379,7 @@ extern void cmdedit_read_input(char* prompt, char command[BUFSIZ]) | |||
| 378 | 379 | ||
| 379 | memset(command, 0, sizeof(command)); | 380 | memset(command, 0, sizeof(command)); |
| 380 | if (!reset_term) { | 381 | if (!reset_term) { |
| 382 | /* sparc and other have broken termios support: use old termio handling. */ | ||
| 381 | ioctl(inputFd, TCGETA, (void *) &old_term); | 383 | ioctl(inputFd, TCGETA, (void *) &old_term); |
| 382 | memcpy(&new_term, &old_term, sizeof(struct termio)); | 384 | memcpy(&new_term, &old_term, sizeof(struct termio)); |
| 383 | 385 | ||
| @@ -589,6 +591,7 @@ extern void cmdedit_read_input(char* prompt, char command[BUFSIZ]) | |||
| 589 | } | 591 | } |
| 590 | 592 | ||
| 591 | nr = len + 1; | 593 | nr = len + 1; |
| 594 | /* sparc and other have broken termios support: use old termio handling. */ | ||
| 592 | ioctl(inputFd, TCSETA, (void *) &old_term); | 595 | ioctl(inputFd, TCSETA, (void *) &old_term); |
| 593 | reset_term = 0; | 596 | reset_term = 0; |
| 594 | 597 | ||
diff --git a/shell/lash.c b/shell/lash.c index bbf57752b..97db8afaf 100644 --- a/shell/lash.c +++ b/shell/lash.c | |||
| @@ -120,7 +120,6 @@ static struct builtInCommand bltins[] = { | |||
| 120 | {"pwd", "Print current directory", "pwd", shell_pwd}, | 120 | {"pwd", "Print current directory", "pwd", shell_pwd}, |
| 121 | {"export", "Set environment variable", "export [VAR=value]", shell_export}, | 121 | {"export", "Set environment variable", "export [VAR=value]", shell_export}, |
| 122 | {"unset", "Unset environment variable", "unset VAR", shell_unset}, | 122 | {"unset", "Unset environment variable", "unset VAR", shell_unset}, |
| 123 | |||
| 124 | {".", "Source-in and run commands in a file", ". filename", shell_source}, | 123 | {".", "Source-in and run commands in a file", ". filename", shell_source}, |
| 125 | {"help", "List shell built-in commands", "help", shell_help}, | 124 | {"help", "List shell built-in commands", "help", shell_help}, |
| 126 | {NULL, NULL, NULL, NULL} | 125 | {NULL, NULL, NULL, NULL} |
diff --git a/sysklogd/syslogd.c b/sysklogd/syslogd.c index 8827265d5..228d0a17a 100644 --- a/sysklogd/syslogd.c +++ b/sysklogd/syslogd.c | |||
| @@ -226,18 +226,20 @@ static void doSyslogd (void) | |||
| 226 | } | 226 | } |
| 227 | else { | 227 | else { |
| 228 | #define BUFSIZE 1024 + 1 | 228 | #define BUFSIZE 1024 + 1 |
| 229 | char buf[BUFSIZE]; | 229 | char buf; |
| 230 | char *q, *p; | 230 | char *q, *p; |
| 231 | int n_read; | 231 | int n_read; |
| 232 | char line[BUFSIZE]; | 232 | char line[BUFSIZE]; |
| 233 | unsigned char c; | 233 | unsigned char c; |
| 234 | int pri; | ||
| 234 | 235 | ||
| 235 | /* Keep reading stuff till there is nothing else to read */ | 236 | /* Get set to read in a line */ |
| 236 | while( (n_read = read (fd, buf, BUFSIZE)) > 0 && errno != EOF) { | 237 | memset (line, 0, sizeof(line)); |
| 237 | int pri = (LOG_USER | LOG_NOTICE); | 238 | pri = (LOG_USER | LOG_NOTICE); |
| 238 | 239 | ||
| 239 | memset (line, 0, sizeof(line)); | 240 | /* Keep reading stuff till there is nothing else to read */ |
| 240 | p = buf; | 241 | while( (n_read = read (fd, &buf, 1)) > 0) { |
| 242 | p = &buf; | ||
| 241 | q = line; | 243 | q = line; |
| 242 | while (p && (c = *p) && q < &line[sizeof(line) - 1]) { | 244 | while (p && (c = *p) && q < &line[sizeof(line) - 1]) { |
| 243 | if (c == '<') { | 245 | if (c == '<') { |
| @@ -262,6 +264,7 @@ static void doSyslogd (void) | |||
| 262 | 264 | ||
| 263 | /* Now log it */ | 265 | /* Now log it */ |
| 264 | logMessage(pri, line); | 266 | logMessage(pri, line); |
| 267 | break; | ||
| 265 | } | 268 | } |
| 266 | close (fd); | 269 | close (fd); |
| 267 | FD_CLR (fd, &readfds); | 270 | FD_CLR (fd, &readfds); |
| @@ -226,18 +226,20 @@ static void doSyslogd (void) | |||
| 226 | } | 226 | } |
| 227 | else { | 227 | else { |
| 228 | #define BUFSIZE 1024 + 1 | 228 | #define BUFSIZE 1024 + 1 |
| 229 | char buf[BUFSIZE]; | 229 | char buf; |
| 230 | char *q, *p; | 230 | char *q, *p; |
| 231 | int n_read; | 231 | int n_read; |
| 232 | char line[BUFSIZE]; | 232 | char line[BUFSIZE]; |
| 233 | unsigned char c; | 233 | unsigned char c; |
| 234 | int pri; | ||
| 234 | 235 | ||
| 235 | /* Keep reading stuff till there is nothing else to read */ | 236 | /* Get set to read in a line */ |
| 236 | while( (n_read = read (fd, buf, BUFSIZE)) > 0 && errno != EOF) { | 237 | memset (line, 0, sizeof(line)); |
| 237 | int pri = (LOG_USER | LOG_NOTICE); | 238 | pri = (LOG_USER | LOG_NOTICE); |
| 238 | 239 | ||
| 239 | memset (line, 0, sizeof(line)); | 240 | /* Keep reading stuff till there is nothing else to read */ |
| 240 | p = buf; | 241 | while( (n_read = read (fd, &buf, 1)) > 0) { |
| 242 | p = &buf; | ||
| 241 | q = line; | 243 | q = line; |
| 242 | while (p && (c = *p) && q < &line[sizeof(line) - 1]) { | 244 | while (p && (c = *p) && q < &line[sizeof(line) - 1]) { |
| 243 | if (c == '<') { | 245 | if (c == '<') { |
| @@ -262,6 +264,7 @@ static void doSyslogd (void) | |||
| 262 | 264 | ||
| 263 | /* Now log it */ | 265 | /* Now log it */ |
| 264 | logMessage(pri, line); | 266 | logMessage(pri, line); |
| 267 | break; | ||
| 265 | } | 268 | } |
| 266 | close (fd); | 269 | close (fd); |
| 267 | FD_CLR (fd, &readfds); | 270 | FD_CLR (fd, &readfds); |
diff --git a/util-linux/more.c b/util-linux/more.c index d5711aa2f..f84214905 100644 --- a/util-linux/more.c +++ b/util-linux/more.c | |||
| @@ -33,25 +33,17 @@ | |||
| 33 | 33 | ||
| 34 | static const char more_usage[] = "more [file ...]\n"; | 34 | static const char more_usage[] = "more [file ...]\n"; |
| 35 | 35 | ||
| 36 | /* ED: sparc termios is broken: revert back to old termio handling. */ | ||
| 37 | #ifdef BB_FEATURE_USE_TERMIOS | 36 | #ifdef BB_FEATURE_USE_TERMIOS |
| 38 | 37 | ||
| 39 | #if #cpu(sparc) | 38 | #include <termio.h> |
| 40 | # define USE_OLD_TERMIO | ||
| 41 | # include <termio.h> | ||
| 42 | # define termios termio | ||
| 43 | # define stty(fd,argp) ioctl(fd,TCSETAF,argp) | ||
| 44 | #else | ||
| 45 | # include <termios.h> | ||
| 46 | # define stty(fd,argp) tcsetattr(fd,TCSANOW,argp) | ||
| 47 | #endif | ||
| 48 | 39 | ||
| 49 | FILE *cin; | 40 | FILE *cin; |
| 50 | struct termios initial_settings, new_settings; | 41 | /* sparc and other have broken termios support: use old termio handling. */ |
| 42 | struct termio initial_settings, new_settings; | ||
| 51 | 43 | ||
| 52 | void gotsig(int sig) | 44 | void gotsig(int sig) |
| 53 | { | 45 | { |
| 54 | stty(fileno(cin), &initial_settings); | 46 | ioctl(fileno(cin), TCSETAF, &initial_settings); |
| 55 | fprintf(stdout, "\n"); | 47 | fprintf(stdout, "\n"); |
| 56 | exit(TRUE); | 48 | exit(TRUE); |
| 57 | } | 49 | } |
| @@ -106,15 +98,11 @@ extern int more_main(int argc, char **argv) | |||
| 106 | cin = fopen("/dev/tty", "r"); | 98 | cin = fopen("/dev/tty", "r"); |
| 107 | if (!cin) | 99 | if (!cin) |
| 108 | cin = fopen("/dev/console", "r"); | 100 | cin = fopen("/dev/console", "r"); |
| 109 | #ifdef USE_OLD_TERMIO | ||
| 110 | ioctl(fileno(cin), TCGETA, &initial_settings); | 101 | ioctl(fileno(cin), TCGETA, &initial_settings); |
| 111 | #else | ||
| 112 | tcgetattr(fileno(cin), &initial_settings); | ||
| 113 | #endif | ||
| 114 | new_settings = initial_settings; | 102 | new_settings = initial_settings; |
| 115 | new_settings.c_lflag &= ~ICANON; | 103 | new_settings.c_lflag &= ~ICANON; |
| 116 | new_settings.c_lflag &= ~ECHO; | 104 | new_settings.c_lflag &= ~ECHO; |
| 117 | stty(fileno(cin), &new_settings); | 105 | ioctl(fileno(cin), TCSETAF, &new_settings); |
| 118 | 106 | ||
| 119 | #ifdef BB_FEATURE_AUTOWIDTH | 107 | #ifdef BB_FEATURE_AUTOWIDTH |
| 120 | ioctl(fileno(stdout), TIOCGWINSZ, &win); | 108 | ioctl(fileno(stdout), TIOCGWINSZ, &win); |
| @@ -1364,7 +1364,8 @@ extern pid_t* findPidByName( char* pidName) | |||
| 1364 | pidList[i++]=strtol(next->d_name, NULL, 0); | 1364 | pidList[i++]=strtol(next->d_name, NULL, 0); |
| 1365 | } | 1365 | } |
| 1366 | } | 1366 | } |
| 1367 | pidList[i]=0; | 1367 | if (pidList!=NULL) |
| 1368 | pidList[i]=0; | ||
| 1368 | return pidList; | 1369 | return pidList; |
| 1369 | } | 1370 | } |
| 1370 | #endif /* BB_FEATURE_USE_DEVPS_PATCH */ | 1371 | #endif /* BB_FEATURE_USE_DEVPS_PATCH */ |
