lib/configuration.c, etc.: Remove arguments from `config_userconf'.
authorMark Wooding <mdw@distorted.org.uk>
Thu, 4 Jun 2020 19:07:30 +0000 (20:07 +0100)
committerMark Wooding <mdw@distorted.org.uk>
Sat, 6 Jun 2020 17:07:12 +0000 (18:07 +0100)
Nobody ever did anything with the HOME argument at all.  Passing in PW
might have been slightly valuable, but configuration is only retrieved
infrequently.

Besides, this is the start of a sequence of changes to how configuration
files are found.

disobedience/login.c
lib/configuration.c
lib/configuration.h

index 0c6e7d7..ae5f415 100644 (file)
@@ -156,7 +156,7 @@ static void login_update_config(struct config *c) {
 
 /** @brief Save current login details */
 static void login_save_config(void) {
-  char *path = config_userconf(0, 0), *tmp;
+  char *path = config_userconf(), *tmp;
   FILE *fp;
 
   byte_xasprintf(&tmp, "%s.tmp", path);
index bd9c65d..b5561dc 100644 (file)
@@ -1606,7 +1606,7 @@ int config_read(int server,
     xfree(privconf);
 #endif
     /* if we have a password file, read it */
-    if((privconf = config_userconf(0, pw))
+    if((privconf = config_userconf())
        && access(privconf, F_OK) == 0
        && config_include(c, privconf))
       return -1;
@@ -1672,7 +1672,7 @@ char *config_private(void) {
 }
 
 /** @brief Return the path to user's personal configuration file */
-char *config_userconf(const char *home, const struct passwd *pw) {
+char *config_userconf(void) {
   char *s;
 #if _WIN32
   wchar_t *wpath = 0;
@@ -1683,9 +1683,10 @@ char *config_userconf(const char *home, const struct passwd *pw) {
   CoTaskMemFree(wpath);
   byte_xasprintf(&s, "%s\\DisOrder\\passwd", appdata);
 #else
-  if(!home && !pw && !(pw = getpwuid(getuid())))
+  struct passwd *pw;
+  if(!(pw = getpwuid(getuid())))
     disorder_fatal(0, "cannot determine our username");
-  byte_xasprintf(&s, "%s/.disorder/passwd", home ? home : pw->pw_dir);
+  byte_xasprintf(&s, "%s/.disorder/passwd", pw->pw_dir);
 #endif
   return s;
 }
index 284ae7a..46a6272 100644 (file)
@@ -342,9 +342,8 @@ char *config_get_file(const char *name);
 
 struct passwd;
 
-char *config_userconf(const char *home, const struct passwd *pw);
-/* get the user's own private conffile, assuming their home dir is
- * @home@ if not null and using @pw@ otherwise */
+char *config_userconf(void);
+/* get the user's own private conffile */
 
 char *config_usersysconf(const struct passwd *pw );
 /* get the user's conffile in /etc */