From 2221af18439a29baed19df4467fc8ba7112712b7 Mon Sep 17 00:00:00 2001 From: simon Date: Fri, 20 Oct 2000 15:20:53 +0000 Subject: [PATCH] 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 --- settings.c | 19 ++++++++++++++----- 1 file changed, 14 insertions(+), 5 deletions(-) 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++; } -- 2.11.0