diff --git a/utils/scripts/eqemu_server.pl b/utils/scripts/eqemu_server.pl index 180dda907..4fd6bb796 100644 --- a/utils/scripts/eqemu_server.pl +++ b/utils/scripts/eqemu_server.pl @@ -1063,17 +1063,46 @@ sub trim { } sub read_eqemu_config_xml { - my $confile = "eqemu_config.xml"; #default - open(F, "<$confile"); - my $indb = 0; - while() { - s/\r//g; - if(/(.*)<\/host>/i) { $host = $1; } - elsif(/(.*)<\/username>/i) { $user = $1; } - elsif(/(.*)<\/password>/i) { $pass = $1; } - elsif(/(.*)<\/db>/i) { $db = $1; } - if(/(.*)<\/longname>/i) { $long_name = $1; } + open (CONFIG, "eqemu_config.xml"); + while (){ + chomp; + $o = $_; + + if($o=~/\<\!--/i){ + next; + } + + if($o=~/database/i && $o=~/\<\//i){ + $in_database_tag = 0; + } + if($o=~/\/i){ + print "IN DATABASE TAG\n" if $debug; + $in_database_tag = 1; + } + if($o=~/\/i){ + ($long_name) = $o =~ /(.*)<\/longname>/; + print "Long Name: " . $long_name . "\n" if $debug; + } + if($in_database_tag == 1){ + if($o=~/\/i && $in_database_tag){ + ($user) = $o =~ />(\w+)/i && $in_database_tag){ + ($pass) = $o =~ />(\w+)/i){ + ($db) = $o =~ />(\w+)/i){ + ($host) = $o =~ />(\w+)