summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDavid Leadbeater <dgl@dgl.cx>2014-07-06 21:52:03 +0100
committerDavid Leadbeater <dgl@dgl.cx>2014-07-06 21:52:03 +0100
commitdac67a567d8c1ffc63a38f94349ea37d2dc4f2c1 (patch)
tree47553ef10a36ebda7fa79ce434a7d7611a271d51
parent85d9fa1922a5f408dd40f18287f01135dd826e4d (diff)
downloadirssi-dac67a567d8c1ffc63a38f94349ea37d2dc4f2c1.zip
Check return values from some syscalls and warn if they fail
-rw-r--r--src/core/commands.c4
-rw-r--r--src/core/rawlog.c11
-rw-r--r--src/core/write-buffer.c4
3 files changed, 14 insertions, 5 deletions
diff --git a/src/core/commands.c b/src/core/commands.c
index 547f7b16..ed82f44e 100644
--- a/src/core/commands.c
+++ b/src/core/commands.c
@@ -968,7 +968,9 @@ static void cmd_cd(const char *data)
if (*data == '\0') return;
str = convert_home(data);
- chdir(str);
+ if (chdir(str) != 0) {
+ g_warning("Failed to chdir(): %s", strerror(errno));
+ }
g_free(str);
}
diff --git a/src/core/rawlog.c b/src/core/rawlog.c
index 20368aeb..e66f20dd 100644
--- a/src/core/rawlog.c
+++ b/src/core/rawlog.c
@@ -102,10 +102,15 @@ void rawlog_redirect(RAWLOG_REC *rawlog, const char *str)
static void rawlog_dump(RAWLOG_REC *rawlog, int f)
{
GSList *tmp;
+ ssize_t ret = 1;
- for (tmp = rawlog->lines; tmp != NULL; tmp = tmp->next) {
- write(f, tmp->data, strlen((char *) tmp->data));
- write(f, "\n", 1);
+ for (tmp = rawlog->lines; ret && tmp != NULL; tmp = tmp->next) {
+ ret = write(f, tmp->data, strlen((char *) tmp->data));
+ ret &= write(f, "\n", 1);
+ }
+
+ if (ret <= 0) {
+ g_warning("rawlog write() failed: %s", strerror(errno));
}
}
diff --git a/src/core/write-buffer.c b/src/core/write-buffer.c
index 6f6eef8a..ffc3ae63 100644
--- a/src/core/write-buffer.c
+++ b/src/core/write-buffer.c
@@ -107,7 +107,9 @@ static int write_buffer_flush_rec(void *handlep, BUFFER_REC *rec)
for (tmp = rec->blocks; tmp != NULL; tmp = tmp->next) {
size = tmp->data != rec->active_block ? BUFFER_BLOCK_SIZE :
rec->active_block_pos;
- write(handle, tmp->data, size);
+ if (write(handle, tmp->data, size) != size) {
+ g_warning("Failed to write(): %s", strerror(errno));
+ }
}
empty_blocks = g_slist_concat(empty_blocks, rec->blocks);