aboutsummaryrefslogtreecommitdiff
path: root/src/blocks
diff options
context:
space:
mode:
Diffstat (limited to 'src/blocks')
-rw-r--r--src/blocks/date.c2
-rw-r--r--src/blocks/fs.c10
-rw-r--r--src/blocks/ram.c35
-rw-r--r--src/blocks/script.c4
4 files changed, 36 insertions, 15 deletions
diff --git a/src/blocks/date.c b/src/blocks/date.c
index f4dbc72..17441a6 100644
--- a/src/blocks/date.c
+++ b/src/blocks/date.c
@@ -57,7 +57,7 @@ static bool block_date_validate(block_t *block, const block_scheme_t *scheme)
}
date->format = date->block.text;
- date->block.text = NULL;
+ date->block.text = strcopy("?");
return true;
}
diff --git a/src/blocks/fs.c b/src/blocks/fs.c
index 7cd3bc8..74f8962 100644
--- a/src/blocks/fs.c
+++ b/src/blocks/fs.c
@@ -26,7 +26,13 @@ static void block_fs_update(block_t *block)
block_fs_t *fs = (block_fs_t *)block;
struct statvfs sbuf;
- assert(statvfs(fs->path, &sbuf) == 0);
+ if (statvfs(fs->path, &sbuf) < 0) {
+ log_value_debug("Failed to read filesystem",
+ "s:label", block->label,
+ "s:path", fs->path,
+ "i:errno", errno);
+ return;
+ }
static const char *fs_formats[] = {
"total",
@@ -94,7 +100,7 @@ static bool block_fs_validate(block_t *block, const block_scheme_t *scheme)
}
fs->format = fs->block.text;
- fs->block.text = NULL;
+ fs->block.text = strcopy("?");
return true;
}
diff --git a/src/blocks/ram.c b/src/blocks/ram.c
index 5ea7760..da56baa 100644
--- a/src/blocks/ram.c
+++ b/src/blocks/ram.c
@@ -19,19 +19,34 @@ static const struct timespec block_ram_interval = {
static void block_ram_update(block_t *block)
{
- FILE *meminfo = fopen("/proc/meminfo", "rb");
- assert(meminfo != NULL);
+ const char *path = "/proc/meminfo";
+ FILE *meminfo = fopen(path, "rb");
+
+ if (meminfo == NULL) {
+ log_value_debug("Failed to open meminfo",
+ "s:label", block->label,
+ "s:path", path,
+ "i:errno", errno);
+ return;
+ }
uintmax_t total, unused, available, buffers, cached;
- assert(5 == fscanf(meminfo,
- "MemTotal: %ju kB\n"
- "MemFree: %ju kB\n"
- "MemAvailable: %ju kB\n"
- "Buffers: %ju kB\n"
- "Cached: %ju kB\n",
- &total, &unused, &available, &buffers, &cached));
+ int n = fscanf(meminfo,
+ "MemTotal: %ju kB\n"
+ "MemFree: %ju kB\n"
+ "MemAvailable: %ju kB\n"
+ "Buffers: %ju kB\n"
+ "Cached: %ju kB\n",
+ &total, &unused, &available, &buffers, &cached);
fclose(meminfo);
+ if (n != 5) {
+ log_value_debug("Failed to read meminfo",
+ "s:label", block->label,
+ "i:errno", errno);
+ return;
+ }
+
static const char *ram_formats[] = {
"total",
"free",
@@ -98,7 +113,7 @@ static bool block_ram_validate(block_t *block, const block_scheme_t *scheme)
}
ram->format = ram->block.text;
- ram->block.text = NULL;
+ ram->block.text = strcopy("?");
return true;
}
diff --git a/src/blocks/script.c b/src/blocks/script.c
index fa3a9d9..b2064eb 100644
--- a/src/blocks/script.c
+++ b/src/blocks/script.c
@@ -34,7 +34,7 @@ static void block_script_update(block_t *block)
fgets(buffer, sizeof(buffer), output);
pclose(output);
- log_value_debug("Executed a script",
+ log_value_trace("Executed a script",
"s:label", block->label,
"s:script", script->script);
@@ -69,7 +69,7 @@ static bool block_script_validate(block_t *block, const block_scheme_t *scheme)
}
script->script = script->block.text;
- script->block.text = NULL;
+ script->block.text = strcopy("?");
return true;
}