summaryrefslogtreecommitdiff
path: root/src/shared/pretty-print.c
diff options
context:
space:
mode:
authorZbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl>2021-03-31 17:46:04 +0200
committerZbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl>2021-03-31 18:24:53 +0200
commit1c93632ead00e04b76900966104c17419234dea1 (patch)
tree2b180b154e858c8a88df9c4835bc69f24b19f467 /src/shared/pretty-print.c
parent1a2948fece3a6b9f345a45be412e4622de288ff1 (diff)
downloadsystemd-1c93632ead00e04b76900966104c17419234dea1.tar.gz
shared/pretty-print: silence gcc warning
gcc was very unhappy for some reason: [988/1664] Compiling C object systemd-oomd.p/src_oom_oomd.c.o In file included from ../src/basic/path-util.h:10, from ../src/shared/pretty-print.c:14, from ../src/oom/oomd.c:15: ../src/shared/pretty-print.c: In function ‘conf_files_cat’: ../src/basic/strv.h:123:32: warning: ‘prefixes’ may be used uninitialized [-Wmaybe-uninitialized] 123 | for ((s) = (l); (s) && *(s); (s)++) | ^ In file included from ../src/oom/oomd.c:15: ../src/shared/pretty-print.c:283:16: note: ‘prefixes’ was declared here 283 | char **prefixes, **prefix; | ^~~~~~~~ ../src/shared/pretty-print.c:305:12: warning: ‘is_collection’ may be used uninitialized in this function [-Wmaybe-uninitialized] 305 | if (!is_collection) { | ^ ../src/shared/pretty-print.c:301:13: warning: ‘extension’ may be used uninitialized in this function [-Wmaybe-uninitialized] 301 | r = conf_files_list_strv(&files, extension, root, 0, (const char* const*) dirs); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Maybe this is caused by the statis char** variables?
Diffstat (limited to 'src/shared/pretty-print.c')
-rw-r--r--src/shared/pretty-print.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/src/shared/pretty-print.c b/src/shared/pretty-print.c
index 0f02f32760..137ba77b3a 100644
--- a/src/shared/pretty-print.c
+++ b/src/shared/pretty-print.c
@@ -280,7 +280,7 @@ static int guess_type(const char **name, char ***prefixes, bool *is_collection,
int conf_files_cat(const char *root, const char *name) {
_cleanup_strv_free_ char **dirs = NULL, **files = NULL;
_cleanup_free_ char *path = NULL;
- char **prefixes, **prefix;
+ char **prefix, **prefixes = NULL; /* explicit initialization to appease gcc */
bool is_collection;
const char *extension;
char **t;
@@ -289,6 +289,8 @@ int conf_files_cat(const char *root, const char *name) {
r = guess_type(&name, &prefixes, &is_collection, &extension);
if (r < 0)
return r;
+ assert(prefixes);
+ assert(extension);
STRV_FOREACH(prefix, prefixes) {
assert(endswith(*prefix, "/"));