From a8f79f88db9bb0787f7ef3a65b1883ac1f44b0e5 Mon Sep 17 00:00:00 2001 From: stskeeps Date: Wed, 22 Aug 2001 13:06:06 +0000 Subject: [PATCH] +- Added support for nested comments in the configuration file (by chasm) +- Added chasm to /info --- Changes | 2 ++ src/s_conf.c | 15 +++++++++++++-- src/s_serv.c | 2 ++ 3 files changed, 17 insertions(+), 2 deletions(-) diff --git a/Changes b/Changes index 9b344a13f..d0de13e17 100644 --- a/Changes +++ b/Changes @@ -813,3 +813,5 @@ seen. gmtime warning still there - Moved FAILOPER_WARN define to set::options::fail-oper-warn - Fixed an alias {} bug found by James-Bond - Moved SHOWCONNECTINFO define to set::options::show-connect-info +- Added support for nested comments in the configuration file (by chasm) +- Added chasm to /info diff --git a/src/s_conf.c b/src/s_conf.c index cc6b5601b..2955b9e83 100644 --- a/src/s_conf.c +++ b/src/s_conf.c @@ -587,16 +587,27 @@ static ConfigFile *config_parse(char *filename, char *confdata) else if (*(ptr+1) == '*') { int commentstart = linenumber; + int commentlevel = 1; for(ptr+=2;*ptr;ptr++) { - if ((*ptr == '*') && (*(ptr+1) == '/')) + if ((*ptr == '/') && (*(ptr+1) == '*')) { + commentlevel++; ptr++; - break; } + + else if ((*ptr == '*') && (*(ptr+1) == '/')) + { + commentlevel--; + ptr++; + } + else if (*ptr == '\n') linenumber++; + + if (!commentlevel) + break; } if (!*ptr) { diff --git a/src/s_serv.c b/src/s_serv.c index 3dd395202..8f184d541 100644 --- a/src/s_serv.c +++ b/src/s_serv.c @@ -1958,6 +1958,8 @@ void m_info_send(sptr) me.name, RPL_INFO, sptr->name); sendto_one(sptr, ":%s %d %s :| * assyrian ", me.name, RPL_INFO, sptr->name); + sendto_one(sptr, ":%s %d %s :| * chasm ", + me.name, RPL_INFO, sptr->name); sendto_one(sptr, ":%s %d %s :|", me.name, RPL_INFO, sptr->name); sendto_one(sptr, ":%s %d %s :| Previous versions:", me.name, RPL_INFO, sptr->name);