diff options
| author | Roy Marples <roy@marples.name> | 2009-04-30 19:56:43 +0100 | 
|---|---|---|
| committer | Roy Marples <roy@marples.name> | 2009-04-30 19:56:43 +0100 | 
| commit | 3d0e5175d845c2386295cf454f9ee1939265fe59 (patch) | |
| tree | ab5fd50b99e05e3aaca755aaffaa8b0c0e52ba5a /src/rc | |
| parent | 21e45e895ce3ca586e0c5fd89a68b84c01d270de (diff) | |
| download | openrc-3d0e5175d845c2386295cf454f9ee1939265fe59.tar.xz | |
Avoid more gcc warning about not checking return values ...
Diffstat (limited to 'src/rc')
| -rw-r--r-- | src/rc/rc-logger.c | 14 | ||||
| -rw-r--r-- | src/rc/rc.c | 12 | ||||
| -rw-r--r-- | src/rc/runscript.c | 3 | ||||
| -rw-r--r-- | src/rc/start-stop-daemon.c | 4 | 
4 files changed, 21 insertions, 12 deletions
| diff --git a/src/rc/rc-logger.c b/src/rc/rc-logger.c index f0320778..0f2c1f95 100644 --- a/src/rc/rc-logger.c +++ b/src/rc/rc-logger.c @@ -100,8 +100,9 @@ write_log(int logfd, const char *buffer, size_t bytes)  			break;  		} -		if (! in_escape) { -			write(logfd, p++, 1); +		if (!in_escape) { +			if (write(logfd, p++, 1) == -1) +				eerror("write: %s", strerror(errno));  			continue;  		} @@ -128,7 +129,8 @@ rc_logger_close(void)  	int sig = SIGTERM;  	if (signal_pipe[1] > -1) { -		write(signal_pipe[1], &sig, sizeof(sig)); +		if (write(signal_pipe[1], &sig, sizeof(sig)) == -1) +			eerror("write: %s", strerror(errno));  		close(signal_pipe[1]);  		signal_pipe[1] = -1;  	} @@ -218,7 +220,8 @@ rc_logger_open(const char *level)  			if (fd[1].revents & (POLLIN | POLLHUP)) {  				memset(buffer, 0, BUFSIZ);  				bytes = read(rc_logger_tty, buffer, BUFSIZ); -				write(STDOUT_FILENO, buffer, bytes); +				if (write(STDOUT_FILENO, buffer, bytes) == -1) +					eerror("write: %s", strerror(errno));  				if (log)  					write_log(fileno (log), buffer, bytes); @@ -255,7 +258,8 @@ rc_logger_open(const char *level)  		/* Try and cat our new logfile to a more permament location  		   and then punt it */ -		system(MOVELOG); +		if (system(MOVELOG) == -1) +			eerror("system: %s: %s", MOVELOG, strerror(errno));  		exit(0);  		/* NOTREACHED */ diff --git a/src/rc/rc.c b/src/rc/rc.c index 9b4a7e5c..405ea542 100644 --- a/src/rc/rc.c +++ b/src/rc/rc.c @@ -191,8 +191,10 @@ proc_getent(const char *ent)  	}  	memset(proc, 0, sizeof(proc)); -	fgets(proc, sizeof(proc), fp); -	if (*proc && (p = strstr(proc, ent))) { +	p = fgets(proc, sizeof(proc), fp); +	if (p == NULL) +		eerror("fgets: %s", strerror(errno)); +	else if (*proc && (p = strstr(proc, ent))) {  		i = p - proc;  		if (i == '\0' || proc[i - 1] == ' ') {  			p += strlen(ent); @@ -234,7 +236,8 @@ read_key(bool block)  		termios.c_cc[VTIME] = 0;  	}  	tcsetattr(fd, TCSANOW, &termios); -	read(fd, &c, 1); +	if (read(fd, &c, 1) == -1) +		eerror("read: %s", strerror(errno));  	tcsetattr(fd, TCSANOW, termios_orig);  	return c;  } @@ -840,7 +843,8 @@ main(int argc, char **argv)  	argv++;  	/* Change dir to / to ensure all scripts don't use stuff in pwd */ -	chdir("/"); +	if (chdir("/") == -1) +		eerror("chdir: %s", strerror(errno));  	/* Ensure our environment is pure  	 * Also, add our configuration to it */ diff --git a/src/rc/runscript.c b/src/rc/runscript.c index 5dab6763..58067a71 100644 --- a/src/rc/runscript.c +++ b/src/rc/runscript.c @@ -1106,7 +1106,8 @@ runscript(int argc, char **argv)  		usage(EXIT_FAILURE);  	/* Change dir to / to ensure all init scripts don't use stuff in pwd */ -	chdir("/"); +	if (chdir("/") == -1) +		eerror("chdir: %s", strerror(errno));  	if ((runlevel = xstrdup(getenv("RC_RUNLEVEL"))) == NULL) {  		env_filter(); diff --git a/src/rc/start-stop-daemon.c b/src/rc/start-stop-daemon.c index 8237e1e8..1952154a 100644 --- a/src/rc/start-stop-daemon.c +++ b/src/rc/start-stop-daemon.c @@ -960,9 +960,9 @@ start_stop_daemon(int argc, char **argv)  	if (interpreted && !pidfile) {  		fp = fopen(exec_file, "r");  		if (fp) { -			fgets(line, sizeof(line), fp); +			p = fgets(line, sizeof(line), fp);  			fclose(fp); -			if (line[0] == '#' && line[1] == '!') { +			if (p != NULL && line[0] == '#' && line[1] == '!') {  				p = line + 2;  				/* Strip leading spaces */  				while (*p == ' ' || *p == '\t') | 
