Steps to reproduce:

```
$ ./src/bitcoin-wallet -datadir=/tmp  info  -wallet=asdf
Wallet info
===========
Name: 
Format: bdb
Descriptors: no
Encrypted: no
HD (hd seed available): yes
Keypool Size: 2000
Transactions: 0
Address Book: 0
```

(See the mismatching wallet name!)

Compare to:

```
$ ./src/bitcoin-wallet -datadir=/tmp  -wallet=asdf info
Wallet info
===========
Name: asdf
Format: bdb
Descriptors: no
Encrypted: no
HD (hd seed available): yes
Keypool Size: 2000
Transactions: 0
Address Book: 0

bool GetSettingsPath(fs::path* filepath = nullptr, bool temp = false) const;
    /**
     * Read settings file. Push errors to vector, or log them if null.
     */
    bool ReadSettingsFile(std::vector<std::string>* errors = nullptr);
    /**
     * Write settings file. Push errors to vector, or log them if null.
     */
    bool WriteSettingsFile(std::vector<std::string>* errors = nullptr) const;
    /**
     * Access settings with lock held.
     */
    template <typename Fn>
    void LockSettings(Fn&& fn)
    {
        LOCK(cs_args);
        fn(m_settings);
    }
    /**
     * Log the config file options and the command line arguments,
     * useful for troubleshooting.
     */
    void LogArgs() const;
private:
    
    void logArgsPrefix(
        const std::string& prefix,
        const std::string& section,
        const std::map<std::string, std::vector<util::SettingsValue>>& args) const;
};