reduce Stats.xml file size: don't write tab indent characters

This commit is contained in:
Chris Danford
2004-08-28 21:37:57 +00:00
parent 08915de430
commit f10efc414a
4 changed files with 25 additions and 11 deletions
+1
View File
@@ -254,6 +254,7 @@ void SaveCatalogXml()
DISP_OPT opts = optDefault;
opts.stylesheet = CATALOG_XSL;
opts.write_tabs = false;
xml.SaveToFile(fn, &opts);
LOG->Trace( "Done." );
+1
View File
@@ -670,6 +670,7 @@ bool Profile::SaveAllToDir( CString sDir, bool bSignData ) const
DISP_OPT opts = optDefault;
opts.stylesheet = STATS_XSL;
opts.write_tabs = false;
bool bSaved = xml.SaveToFile(fn, &opts);
// Update file cache, or else IsAFile in CryptManager won't see this new file.
+12 -9
View File
@@ -511,9 +511,10 @@ bool XNode::GetXML( RageFile &f, DISP_OPT *opt /*= &optDefault*/ )
if( opt && opt->newline )
if( f.Write("\r\n") == -1 )
return false;
for( int i = 0 ; i < opt->tab_base ; i++)
if( f.Write("\t") == -1 )
return false;
if( opt->write_tabs )
for( int i = 0 ; i < opt->tab_base ; i++)
if( f.Write("\t") == -1 )
return false;
}
// <TAG
@@ -557,9 +558,10 @@ bool XNode::GetXML( RageFile &f, DISP_OPT *opt /*= &optDefault*/ )
if( opt && opt->newline )
if( f.Write("\r\n") == -1 )
return false;
for( int i = 0 ; i < opt->tab_base ; i++)
if( f.Write("\t") == -1 )
return false;
if( opt->write_tabs )
for( int i = 0 ; i < opt->tab_base ; i++)
if( f.Write("\t") == -1 )
return false;
}
if( f.Write((opt->reference_value&&opt->entitys?opt->entitys->Entity2Ref(value):value)) == -1 )
return false;
@@ -570,9 +572,10 @@ bool XNode::GetXML( RageFile &f, DISP_OPT *opt /*= &optDefault*/ )
{
if( f.Write("\r\n") == -1 )
return false;
for( int i = 0 ; i < opt->tab_base-1 ; i++)
if( f.Write("\t") == -1 )
return false;
if( opt->write_tabs )
for( int i = 0 ; i < opt->tab_base-1 ; i++)
if( f.Write("\t") == -1 )
return false;
}
if( f.Write("</" + name + ">") == -1 )
return false;
+11 -2
View File
@@ -87,10 +87,19 @@ struct DISP_OPT
bool newline; // newline when new tag
bool reference_value; // do convert from entity to reference ( < -> &lt; )
XENTITYS *entitys; // entity table for entity encode
CString stylesheet; // empty string = none
CString stylesheet; // empty string = no stylesheet
bool write_tabs; // if false, don't write tab indent characters
int tab_base; // internal usage
DISP_OPT() { newline = true; reference_value = true; entitys = &entityDefault; tab_base = 0; }
DISP_OPT()
{
newline = true;
reference_value = true;
entitys = &entityDefault;
stylesheet = "";
write_tabs = true;
tab_base = 0;
}
};
extern DISP_OPT optDefault;