X-Git-Url: https://jxself.org/git/?a=blobdiff_plain;f=tfcrypt.c;h=c8664cca99aad14cbc4cb9e84c4bb964483f5b4a;hb=26668913a55e867900ae7f80615640d814494e29;hp=4724c0fab024cf88ab10fa8492dfce05c0cbeb76;hpb=e0d3bb48cd0cd079f9d1bd5555a52f450db452ac;p=tfcrypt.git diff --git a/tfcrypt.c b/tfcrypt.c index 4724c0f..c8664cc 100644 --- a/tfcrypt.c +++ b/tfcrypt.c @@ -62,9 +62,22 @@ int main(int argc, char **argv) if (!isatty(2)) do_statline_dynamic = NO; + s = (char *)srcblk; + d = getenv("HOME"); + if (!d) d = ""; + n = PATH_MAX > sizeof(srcblk) ? sizeof(srcblk) : PATH_MAX; + if (xstrlcpy(s, d, n) >= n) goto _baddfname; + if (xstrlcat(s, "/.tfcrypt.defs", n) >= n) goto _baddfname; + read_defaults(s, YES); +_baddfname: + memset(s, 0, n); + opterr = 0; - while ((c = getopt(argc, argv, "s:aU:C:r:K:t:TPkzxc:l:qedn:vV:pwE:O:S:AmM:R:Z:WHD:")) != -1) { + while ((c = getopt(argc, argv, "L:s:aU:C:r:K:t:TPkzxc:l:qedn:vV:pwE:O:S:AmM:R:Z:WHD:")) != -1) { switch (c) { + case 'L': + read_defaults(optarg, NO); + break; case 's': saltf = optarg; break;