X-Git-Url: https://git.netwichtig.de/gitweb/?a=blobdiff_plain;f=.inspircd.inc;h=183c11c7172a159e311591574cfff30aaf98bdc5;hb=d49e33b22c2cbb22bad71fb07ce8003dec8270cf;hp=f03595b42b7e0ab9cfa75756a0fe662a6e7f876a;hpb=1f7f6c58d47246ed176a4af92a231660dfac644a;p=user%2Fhenk%2Fcode%2Finspircd.git diff --git a/.inspircd.inc b/.inspircd.inc index f03595b42..183c11c71 100644 --- a/.inspircd.inc +++ b/.inspircd.inc @@ -3,16 +3,13 @@ # | Inspire Internet Relay Chat Daemon | # +------------------------------------+ # -# Inspire is copyright (C) 2002-2004 ChatSpike-Dev. -# E-mail: -# -# +# (C) 2002-2007 InspIRCd Development Team +# http://www.inspircd.org/wiki/index.php/Credits # # Written by Craig Edwards, Craig McLure, and others. # This program is free but copyrighted software; see # the file COPYING for details. # -# I HATE PERL.. kthxbye # --------------------------------------------------- use POSIX; @@ -91,6 +88,7 @@ if ($arg eq "Cheese-Sandwich") { ### print "Invalid Argument: $arg\n"; print "Usage: inspircd (start|stop|restart|rehash|status|cron|checkconf|version)\n"; +print "Developer arguments: (debug|screendebug|valdebug|screenvaldebug)\n"; exit(); ### @@ -361,13 +359,11 @@ sub validateconf # push @newlines, ""; push @newlines, ""; - foreach $i (@lines) { + foreach $i (@lines) + { # remove trailing newlines chomp($i); - # clean up - $i =~ s/[^=]+=\s(.*)/\1/; - # convert tabs to spaces $i =~ s/\t/ /g; @@ -380,11 +376,25 @@ sub validateconf # remove trailing #s $i =~ s/(.*)#$/\1/; + # remove trailing comments + my $line = ""; + my $quote = 0; + for (my $j = 0; $j < length($i); $j++) + { + if (substr($i,$j, 1) eq '"') { $quote = ($quote) ? 0 : 1; } elsif (substr($i,$j, 1) eq "#" && !$quote) { last; } + $line .= substr($i,$j, 1); + } + $i = $line; + # remove trailing spaces $i =~ s/ *$//; + # setup incf for include check and clean it up, since this breaks parsing use local var + my $incf = $i; + $incf =~ s/[^=]+=\s(.*)/\1/; + # include file? - if (($i =~ s/\//i) && ($i !~ /^#/)) + if (($incf =~ s/\//i) && ($incf !~ /^#/)) { # yes, process it validateconf($1);