chiark / gitweb /
strv: detect non-assignments in env blocks properly in env_append()
[elogind.git] / src / cryptsetup-generator.c
index 00120f67a0a63fa6739a9217f222ca8e49116c06..b57c0b742ab141f84990edd1ee6f3d1f6d5a6f50 100644 (file)
@@ -115,6 +115,7 @@ static int create_disk(
                 "\n[Service]\n"
                 "Type=oneshot\n"
                 "RemainAfterExit=yes\n"
+                "TimeoutSec=0\n" /* the binary handles timeouts anyway */
                 "ExecStart=" SYSTEMD_CRYPTSETUP_PATH " attach '%s' '%s' '%s' '%s'\n"
                 "ExecStop=" SYSTEMD_CRYPTSETUP_PATH " detach '%s'\n",
                 name, u, strempty(password), strempty(options),
@@ -122,12 +123,12 @@ static int create_disk(
 
         if (options && has_option(options, "tmp"))
                 fprintf(f,
-                        "ExecStartPost=/sbin/mke2fs '/dev/mapper/%s'",
+                        "ExecStartPost=/sbin/mke2fs '/dev/mapper/%s'\n",
                         name);
 
         if (options && has_option(options, "swap"))
                 fprintf(f,
-                        "ExecStartPost=/sbin/mkswap '/dev/mapper/%s'",
+                        "ExecStartPost=/sbin/mkswap '/dev/mapper/%s'\n",
                         name);
 
         fflush(f);
@@ -222,7 +223,8 @@ int main(int argc, char *argv[]) {
                 return EXIT_FAILURE;
         }
 
-        arg_dest = argv[1];
+        if (argc > 1)
+                arg_dest = argv[1];
 
         log_set_target(LOG_TARGET_SYSLOG_OR_KMSG);
         log_parse_environment();