mirror of
https://git.tartarus.org/simon/putty.git
synced 2025-01-10 01:48:00 +00:00
Yikes - saving of Default Settings must have been broken for some
time! The load code in settings.c was translating an empty string into "Default Settings" to pass to {win,ux}store, whereas the save code was passing the empty string straight down and expecting it to be dealt with. So, a policy decision: the precise name of the "Default Settings" special session _at the storage level_ is up to the individual platform storage code to decide, and all platforms MUST assume Default Settings is meant if they receive NULL or the empty string as a session name. [originally from svn r2974]
This commit is contained in:
parent
429fe02ac8
commit
a185d54301
@ -631,10 +631,7 @@ void load_open_settings(void *sesskey, int do_host, Config *cfg)
|
||||
|
||||
void do_defaults(char *session, Config * cfg)
|
||||
{
|
||||
if (session)
|
||||
load_settings(session, TRUE, cfg);
|
||||
else
|
||||
load_settings("Default Settings", FALSE, cfg);
|
||||
load_settings(session, (session != NULL && *session), cfg);
|
||||
}
|
||||
|
||||
static int sessioncmp(const void *av, const void *bv)
|
||||
|
@ -67,6 +67,9 @@ void *open_settings_w(const char *sessionname)
|
||||
int ret;
|
||||
char *p;
|
||||
|
||||
if (!sessionname || !*sessionname)
|
||||
sessionname = "Default Settings";
|
||||
|
||||
p = smalloc(3 * strlen(sessionname) + 1);
|
||||
mungestr(sessionname, p);
|
||||
|
||||
@ -107,6 +110,9 @@ void *open_settings_r(const char *sessionname)
|
||||
HKEY subkey1, sesskey;
|
||||
char *p;
|
||||
|
||||
if (!sessionname || !*sessionname)
|
||||
sessionname = "Default Settings";
|
||||
|
||||
p = smalloc(3 * strlen(sessionname) + 1);
|
||||
mungestr(sessionname, p);
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user