summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorJohn Crispin <blogic@openwrt.org>2015-03-28 17:58:44 +0100
committerSteven Barth <steven@midlink.org>2015-03-30 13:58:07 +0200
commitec864c44e9959a5d65cc564182f4e960e47c6e9e (patch)
treeeea22d612485c3ed20ad376cbc19915b93cc6df0 /src
parent0812d31deabe32918fd5b9498f0a8b2c2962d70b (diff)
downloadodhcp6c-ec864c44e9959a5d65cc564182f4e960e47c6e9e.tar.gz
properly handle return codes
Signed-off-by: John Crispin <blogic@openwrt.org>
Diffstat (limited to 'src')
-rw-r--r--src/odhcp6c.c6
-rw-r--r--src/odhcp6c.h2
-rw-r--r--src/ra.c6
3 files changed, 8 insertions, 6 deletions
diff --git a/src/odhcp6c.c b/src/odhcp6c.c
index 8b5cb54..dce1e0e 100644
--- a/src/odhcp6c.c
+++ b/src/odhcp6c.c
@@ -445,7 +445,7 @@ static int usage(void)
" -e Write logmessages to stderr\n"
" -v Increase logging verbosity\n"
" -h Show this help\n\n";
- write(STDERR_FILENO, buf, sizeof(buf));
+ fputs(buf, stderr);
return 1;
}
@@ -654,9 +654,9 @@ uint32_t odhcp6c_elapsed(void)
}
-void odhcp6c_random(void *buf, size_t len)
+int odhcp6c_random(void *buf, size_t len)
{
- read(urandom_fd, buf, len);
+ return read(urandom_fd, buf, len);
}
bool odhcp6c_is_bound(void)
diff --git a/src/odhcp6c.h b/src/odhcp6c.h
index 1fda72a..3e2713e 100644
--- a/src/odhcp6c.h
+++ b/src/odhcp6c.h
@@ -325,7 +325,7 @@ void script_call(const char *status);
bool odhcp6c_signal_process(void);
uint64_t odhcp6c_get_milli_time(void);
-void odhcp6c_random(void *buf, size_t len);
+int odhcp6c_random(void *buf, size_t len);
bool odhcp6c_is_bound(void);
// State manipulation
diff --git a/src/ra.c b/src/ra.c
index 9541624..09d5c1d 100644
--- a/src/ra.c
+++ b/src/ra.c
@@ -165,14 +165,16 @@ static int16_t pref_to_priority(uint8_t flags)
}
-static void update_proc(const char *sect, const char *opt, uint32_t value)
+static int update_proc(const char *sect, const char *opt, uint32_t value)
{
char buf[64];
snprintf(buf, sizeof(buf), "/proc/sys/net/ipv6/%s/%s/%s", sect, if_name, opt);
int fd = open(buf, O_WRONLY);
- write(fd, buf, snprintf(buf, sizeof(buf), "%u", value));
+ int ret = write(fd, buf, snprintf(buf, sizeof(buf), "%u", value));
close(fd);
+
+ return ret;
}