From: simon Date: Fri, 20 Oct 2000 15:20:53 +0000 (+0000) Subject: Put back the code that ensures "Default Settings" is always in the X-Git-Url: https://git.distorted.org.uk/u/mdw/putty/commitdiff_plain/2221af18439a29baed19df4467fc8ba7112712b7?hp=a1594e4ba90d9853e7dda47f97858269f8aac0f6 Put back the code that ensures "Default Settings" is always in the session list even if it isn't in the Registry. This got deleted overenthusiastically because I didn't have a comment explaining what it was doing there. Now there's a comment, so I probably won't remove it again. git-svn-id: svn://svn.tartarus.org/sgt/putty@733 cda61777-01e9-0310-a592-d414129be87e --- diff --git a/settings.c b/settings.c index 66128a45..69394f27 100644 --- a/settings.c +++ b/settings.c @@ -338,19 +338,28 @@ void get_sesslist(int allocate) { buffer = srealloc(buffer, buflen+1); buffer[buflen] = '\0'; + /* + * Now set up the list of sessions. Note that "Default + * Settings" must always be claimed to exist, even if it + * doesn't really. + */ + p = buffer; - nsessions = 0; + nsessions = 1; /* "Default Settings" counts as one */ while (*p) { - nsessions++; + if (strcmp(p, "Default Settings")) + nsessions++; while (*p) p++; p++; } - sessions = smalloc(nsessions * sizeof(char *)); + sessions = smalloc((nsessions+1) * sizeof(char *)); + sessions[0] = "Default Settings"; p = buffer; - i = 0; + i = 1; while (*p) { - sessions[i++] = p; + if (strcmp(p, "Default Settings")) + sessions[i++] = p; while (*p) p++; p++; }