diff options
Diffstat (limited to 'src')
| -rw-r--r-- | src/blocks/date.c | 2 | ||||
| -rw-r--r-- | src/blocks/fs.c | 10 | ||||
| -rw-r--r-- | src/blocks/ram.c | 35 | ||||
| -rw-r--r-- | src/blocks/script.c | 4 |
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; } |
