diff options
author | Yuri Pankov <yuripv@FreeBSD.org> | 2018-10-15 20:11:53 +0000 |
---|---|---|
committer | Yuri Pankov <yuripv@FreeBSD.org> | 2018-10-15 20:11:53 +0000 |
commit | eb33f7f73f5a9995d6c1a3eb23f0aaa2de310a2c (patch) | |
tree | f5ef89db9a32a359a8453e7b9cd0bb842d167d66 /pw/pw_conf.c | |
parent | bcfb085a8b157ca9c5e5943fd81ed045eb0e7ccc (diff) | |
download | pw-darwin-eb33f7f73f5a9995d6c1a3eb23f0aaa2de310a2c.tar.gz pw-darwin-eb33f7f73f5a9995d6c1a3eb23f0aaa2de310a2c.tar.zst pw-darwin-eb33f7f73f5a9995d6c1a3eb23f0aaa2de310a2c.zip |
pw: respect path specified using -V when writing pw.conf, and -C is not
explicitly specified. -V path is already used to determine which file
to read default values from, so it's only logical to write them to the
same file.
PR: 231653
Reviewed by: eugen, bapt
Approved by: re (gjb), kib (mentor)
Differential Revision: https://reviews.freebsd.org/D17566
Diffstat (limited to 'pw/pw_conf.c')
-rw-r--r-- | pw/pw_conf.c | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/pw/pw_conf.c b/pw/pw_conf.c index 36bb8b6..f7b98f1 100644 --- a/pw/pw_conf.c +++ b/pw/pw_conf.c @@ -417,9 +417,13 @@ write_userconfig(struct userconf *cnf, const char *file) int i, j; struct sbuf *buf; FILE *fp; + char cfgfile[MAXPATHLEN]; - if (file == NULL) - file = _PATH_PW_CONF; + if (file == NULL) { + snprintf(cfgfile, sizeof(cfgfile), "%s/" _PW_CONF, + conf.etcpath); + file = cfgfile; + } if ((fd = open(file, O_CREAT|O_RDWR|O_TRUNC|O_EXLOCK, 0644)) == -1) return (0); |