#include "fdset.h"
#include "special.h"
#include "conf-parser.h"
-#include "bus-errors.h"
+#include "dbus-common.h"
#include "missing.h"
#include "label.h"
#include "build.h"
{ NULL, NULL, NULL, 0, NULL }
};
- FILE _cleanup_fclose_ *f;
+ _cleanup_fclose_ FILE *f;
const char *fn;
int r;
}
static int parse_proc_cmdline(void) {
- char *line, *w, *state;
+ _cleanup_free_ char *line = NULL;
+ char *w, *state;
int r;
size_t l;
if (detect_container(NULL) > 0)
return 0;
- if ((r = read_one_line_file("/proc/cmdline", &line)) < 0) {
+ r = read_one_line_file("/proc/cmdline", &line);
+ if (r < 0) {
log_warning("Failed to read /proc/cmdline, ignoring: %s", strerror(-r));
return 0;
}
FOREACH_WORD_QUOTED(w, l, line, state) {
- char *word;
+ _cleanup_free_ char *word;
- if (!(word = strndup(w, l))) {
- r = -ENOMEM;
- goto finish;
- }
+ word = strndup(w, l);
+ if (!word)
+ return log_oom();
r = parse_proc_cmdline_word(word);
if (r < 0) {
log_error("Failed on cmdline argument %s: %s", word, strerror(-r));
- free(word);
- goto finish;
+ return r;
}
-
- free(word);
}
- r = 0;
-
-finish:
- free(line);
- return r;
+ return 0;
}
static int parse_argv(int argc, char *argv[]) {