assert(fservice);
assert(tservice);
- asprintf(&from, SYSTEM_DATA_UNIT_PATH "/%s", fservice);
- asprintf(&to, "%s/getty.target.wants/%s", arg_dest, tservice);
+ from = strappend(SYSTEM_DATA_UNIT_PATH "/", fservice);
+ to = join(arg_dest,"/getty.target.wants/", tservice, NULL);
if (!from || !to) {
log_error("Out of memory");
goto finish;
}
- mkdir_parents(to, 0755);
+ mkdir_parents_label(to, 0755);
r = symlink(from, to);
if (r < 0) {
char *active;
const char *j;
- if (argc > 2) {
- log_error("This program takes one or no arguments.");
+ if (argc > 1 && argc != 4) {
+ log_error("This program takes three or no arguments.");
return EXIT_FAILURE;
}
- log_set_target(LOG_TARGET_AUTO);
+ if (argc > 1)
+ arg_dest = argv[1];
+
+ log_set_target(LOG_TARGET_SAFE);
log_parse_environment();
log_open();
umask(0022);
- if (argc > 1)
- arg_dest = argv[1];
-
if (detect_container(NULL) > 0) {
log_debug("Automatically adding console shell.");