#include "device-nodes.h"
#include "utf8.h"
#include "gunicode.h"
+#include "virt.h"
int saved_argc = 0;
char **saved_argv = NULL;
assert(s);
/* Escapes all chars that D-Bus' object path cannot deal
- * with. Can be reverse with bus_path_unescape(). We special
+ * with. Can be reversed with bus_path_unescape(). We special
* case the empty string. */
if (*s == 0)
char **p;
errno = 0;
- k = glob(optarg, GLOB_NOSORT|GLOB_BRACE, NULL, &g);
+ k = glob(path, GLOB_NOSORT|GLOB_BRACE, NULL, &g);
if (k == GLOB_NOMATCH)
return -ENOENT;
return 0;
}
+
+bool restore_state(void) {
+ _cleanup_free_ char *line;
+ char *w, *state;
+ int r;
+ size_t l;
+
+ if (detect_container(NULL) > 0)
+ return true;
+
+ r = read_one_line_file("/proc/cmdline", &line);
+ if (r < 0) {
+ log_warning("Failed to read /proc/cmdline, ignoring: %s", strerror(-r));
+ return true; /* something is very wrong, let's not make it worse */
+ }
+
+ FOREACH_WORD_QUOTED(w, l, line, state)
+ if (strneq(w, "systemd.restore_state=0", l))
+ return false;
+
+ return true;
+}