From d843a56e1efb9cafe685bb72702a10e8f8d1bde7 Mon Sep 17 00:00:00 2001 From: Michael Poole Date: Sat, 31 Dec 2005 01:38:24 +0000 Subject: [PATCH] Fix config conversion bugs (functional and documentation). git-svn-id: file:///home/klmitch/undernet-ircu/undernet-ircu-svn/ircu2/branches/u2_10_12_branch@1595 c9e4aea6-c8fd-4c43-8297-357d70d61c8c --- ChangeLog | 9 +++++++++ RELEASE.NOTES | 2 ++ ircd/convert-conf.c | 15 ++++++++------- 3 files changed, 19 insertions(+), 7 deletions(-) diff --git a/ChangeLog b/ChangeLog index 3ce2add..106e42e 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,12 @@ +2005-12-30 Michael Poole + + * RELEASE.NOTES: Mention removal of HIS_STATS_h. + + * ircd/convert-conf.c (removed_features): Add AUTOHIDE, + HIS_DESYNCS and TIMESEC. + (get_connect): Do not downcase connection name on insert. + (do_feature): Do not upcase feature name (cf HIS_STATS_k). + 2005-12-30 Michael Poole * ircd/engine_devpoll.c (engine_loop): Remove bogus assert. diff --git a/RELEASE.NOTES b/RELEASE.NOTES index 199d855..47106bd 100644 --- a/RELEASE.NOTES +++ b/RELEASE.NOTES @@ -123,6 +123,8 @@ HIS_DESYNCS, TIMESEC. Deleted features since they are now controlled by other configuration entries: VIRTUAL_HOST, oper and locop privilege features. +Deleted feature since it no longer applies: HIS_STATS_h. + Compile Time Options: A listing of supported compile-time options may be seen by running diff --git a/ircd/convert-conf.c b/ircd/convert-conf.c index 1470ec1..da88adb 100644 --- a/ircd/convert-conf.c +++ b/ircd/convert-conf.c @@ -17,7 +17,7 @@ * USA. */ -#include /* tolower(), toupper(), isdigit() */ +#include /* tolower() */ #include /* *printf(), fgets() */ #include /* free(), strtol() */ #include /* strlen(), memcpy(), strchr(), strspn() */ @@ -30,7 +30,7 @@ const char *admin_names[] = { "location", "contact", "contact", 0 }, *general_names[] = { "name", "vhost", "description", "", "#numeric", 0 }, *motd_names[] = { "host", "file", 0 }, *class_names[] = { "name", "#pingfreq", "#connectfreq", "#maxlinks", "#sendq", 0 }, - *removed_features[] = { "VIRTUAL_HOST", "OPERS_SEE_IN_SECRET_CHANNELS", "LOCOP_SEE_IN_SECRET_CHANNELS", 0 }; + *removed_features[] = { "VIRTUAL_HOST", "TIMESEC", "OPERS_SEE_IN_SECRET_CHANNELS", "LOCOP_SEE_IN_SECRET_CHANNELS", "HIS_STATS_h", "HIS_DESYNCS", "AUTOHIDE", 0 }; char orig_line[512], line[512], dbuf[512]; char *fields[MAX_FIELDS + 1]; unsigned int nfields; @@ -159,7 +159,7 @@ static struct connect *get_connect(const char *name) nlen = strlen(name); for (conn = connects; conn; conn = conn->next) { - for (ii = 0; tolower(name[ii]) == conn->name[ii] && ii < nlen; ++ii) ; + for (ii = 0; tolower(name[ii]) == tolower(conn->name[ii]) && ii < nlen; ++ii) ; if (conn->name[ii] == '\0' && name[ii] == '\0') break; } @@ -169,7 +169,7 @@ static struct connect *get_connect(const char *name) { conn = calloc(1, sizeof(*conn) + nlen); for (ii = 0; ii < nlen; ++ii) - conn->name[ii] = tolower(name[ii]); + conn->name[ii] = name[ii]; conn->next = connects; connects = conn; } @@ -311,7 +311,7 @@ static void do_feature(void) ii = strlen(fields[0]); feat = calloc(1, sizeof(*feat) + ii); while (ii-- > 0) - feat->name[ii] = toupper(fields[0][ii]); + feat->name[ii] = fields[0][ii]; feat->next = features; features = feat; string_get(&feat->origins, orig_line); @@ -610,9 +610,10 @@ int main(int argc, char *argv[]) fputs(line, stdout); continue; } - /* Strip EOL character(s) and pass blank lines through. */ - while (len > 0 && (line[len-1] == '\n' || line[len-1] == '\r')) + /* Strip trailing whitespace. */ + while (len > 0 && isspace(line[len-1])) line[--len] = '\0'; + /* Pass blank lines through. */ if (len == 0) { fputc('\n', stdout); continue; -- 2.20.1