diff options
-rw-r--r-- | coreutils/stty.c | 4 | ||||
-rw-r--r-- | libbb/device_open.c | 1 | ||||
-rw-r--r-- | sysklogd/syslogd.c | 13 |
3 files changed, 10 insertions, 8 deletions
diff --git a/coreutils/stty.c b/coreutils/stty.c index 073de84..d709bfc 100644 --- a/coreutils/stty.c +++ b/coreutils/stty.c @@ -514,8 +514,8 @@ int stty_main(int argc, char **argv) device_name = file_name; fclose(stdin); xopen(device_name, O_RDONLY | O_NONBLOCK); - if ((fdflags = fcntl(STDIN_FILENO, F_GETFL)) == -1 - || fcntl(STDIN_FILENO, F_SETFL, fdflags & ~O_NONBLOCK) < 0) + fdflags = fcntl(STDIN_FILENO, F_GETFL); + if (fdflags == -1 || fcntl(STDIN_FILENO, F_SETFL, fdflags & ~O_NONBLOCK) < 0) perror_on_device("%s: couldn't reset non-blocking mode"); } else { device_name = bb_msg_standard_input; diff --git a/libbb/device_open.c b/libbb/device_open.c index d34557b..c788b69 100644 --- a/libbb/device_open.c +++ b/libbb/device_open.c @@ -20,6 +20,7 @@ int device_open(const char *device, int mode) m = mode | O_NONBLOCK; /* Retry up to 5 times */ + /* TODO: explain why it can't be considered insane */ for (f = 0; f < 5; f++) if ((fd = open(device, m, 0600)) >= 0) break; diff --git a/sysklogd/syslogd.c b/sysklogd/syslogd.c index a8b52b3..f3de046 100644 --- a/sysklogd/syslogd.c +++ b/sysklogd/syslogd.c @@ -277,9 +277,9 @@ static void message(char *fmt, ...) } else #endif - if ((fd = device_open(logFilePath, - O_WRONLY | O_CREAT | O_NOCTTY | O_APPEND | - O_NONBLOCK)) >= 0) { + fd = device_open(logFilePath, O_WRONLY | O_CREAT + | O_NOCTTY | O_APPEND | O_NONBLOCK); + if (fd >= 0) { fl.l_type = F_WRLCK; fcntl(fd, F_SETLKW, &fl); @@ -291,7 +291,8 @@ static void message(char *fmt, ...) && (lseek(fd,0,SEEK_END) > logFileSize) ) { if(logFileRotate > 0) { int i; - char oldFile[(strlen(logFilePath)+4)], newFile[(strlen(logFilePath)+4)]; + char oldFile[(strlen(logFilePath)+4)]; + char newFile[(strlen(logFilePath)+4)]; for(i=logFileRotate-1;i>0;i--) { sprintf(oldFile, "%s.%d", logFilePath, i-1); sprintf(newFile, "%s.%d", logFilePath, i); @@ -321,8 +322,8 @@ static void message(char *fmt, ...) close(fd); } else { /* Always send console messages to /dev/console so people will see them. */ - if ((fd = device_open(_PATH_CONSOLE, - O_WRONLY | O_NOCTTY | O_NONBLOCK)) >= 0) { + fd = device_open(_PATH_CONSOLE, O_WRONLY | O_NOCTTY | O_NONBLOCK); + if (fd >= 0) { va_start(arguments, fmt); vdprintf(fd, fmt, arguments); va_end(arguments); |