X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?a=blobdiff_plain;f=src%2Fgetty-generator%2Fgetty-generator.c;h=bb7c225e0267f0f70668da04a25fc01b7beb3dac;hb=ddcbc8737873ca1904562d7d3ca3de9946e2f889;hp=13dca7d1b0acccbe2ed8940c9d01dd888276dd5a;hpb=337eebb936be1da1215535e866965ce54c82d755;p=elogind.git diff --git a/src/getty-generator/getty-generator.c b/src/getty-generator/getty-generator.c index 13dca7d1b..bb7c225e0 100644 --- a/src/getty-generator/getty-generator.c +++ b/src/getty-generator/getty-generator.c @@ -38,8 +38,8 @@ static int add_symlink(const char *fservice, const char *tservice) { 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"); @@ -47,7 +47,7 @@ static int add_symlink(const char *fservice, const char *tservice) { goto finish; } - mkdir_parents(to, 0755); + mkdir_parents_label(to, 0755); r = symlink(from, to); if (r < 0) { @@ -99,20 +99,20 @@ int main(int argc, char *argv[]) { 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.");