diff --git a/src/main/java/net/vhati/modmanager/core/ModUtilities.java b/src/main/java/net/vhati/modmanager/core/ModUtilities.java index 4f73c2c..c1bb6f2 100644 --- a/src/main/java/net/vhati/modmanager/core/ModUtilities.java +++ b/src/main/java/net/vhati/modmanager/core/ModUtilities.java @@ -571,13 +571,15 @@ public class ModUtilities { Matcher m; // Wrap everything in a root tag, while mindful of the xml declaration. - Pattern xmlDeclPtn = Pattern.compile( "<[?]xml version=\"1.0\" encoding=\"[^\"]+?\"[?]>" ); + String wrapperSTag = ""; + + Pattern xmlDeclPtn = Pattern.compile( "<[?]xml [^>]*?[?]>\n*" ); m = xmlDeclPtn.matcher( srcBuf ); boolean foundTopDecl = false; while ( m.find() ) { if ( m.start() == 0 ) { foundTopDecl = true; - m.appendReplacement( dstBuf, "$0\n\n" ); + m.appendReplacement( dstBuf, "$0\n"+ Matcher.quoteReplacement( wrapperSTag ) ); } else { messages.add( new ReportMessage( @@ -591,7 +593,7 @@ public class ModUtilities { dstBuf.append( "\n" ); if ( !foundTopDecl ) - dstBuf.insert( 0, "\n" ); + dstBuf.insert( 0, Matcher.quoteReplacement( wrapperSTag ) ); tmpBuf = srcBuf; srcBuf = dstBuf; dstBuf = tmpBuf; dstBuf.setLength(0);