aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--coreutils/stty.c4
-rw-r--r--libbb/device_open.c1
-rw-r--r--sysklogd/syslogd.c13
3 files changed, 10 insertions, 8 deletions
diff --git a/coreutils/stty.c b/coreutils/stty.c
index 073de847b..d709bfc1e 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 d34557b5a..c788b6982 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 a8b52b36e..f3de04653 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);