Kaydet (Commit) dddca20c authored tarafından Zolnai Tamás's avatar Zolnai Tamás

Skip poheader

Po headers can be various and they don not
contain any needed information for merge so
skip it without any checking.

Change-Id: I6d81b7c85bfdbfd961361d98131ed80ba304e9ba
üst 2462391f
......@@ -122,12 +122,11 @@ class PoIfstream: private boost::noncopyable
private:
std::ifstream m_aInPut;
bool m_bIsAfterHeader;
bool m_bEof;
public:
enum Exception { INVALIDENTRY, INVALIDHEADER };
enum Exception { INVALIDENTRY };
PoIfstream();
~PoIfstream();
......@@ -136,7 +135,6 @@ public:
void open(const OString& rFileName);
void close();
void readHeader(PoHeader& rHeader);
void readEntry(PoEntry& rPo);
};
......
......@@ -175,21 +175,6 @@ MergeDataFile::MergeDataFile(
printf( "Warning : Can't open %s\n", sPoFileName.getStr() );
return;
}
PoHeader aPoHeader;
try
{
aPoInput.readHeader( aPoHeader );
}
catch( PoIfstream::Exception& aException )
{
if( aException == PoIfstream::INVALIDHEADER )
{
printf(
"Warning : %s has invalid header\n",
sPoFileName.getStr() );
return;
}
}
OString sLang;
//Get language id from path
......
......@@ -735,7 +735,6 @@ void PoOfstream::writeEntry( const PoEntry& rPoEntry )
PoIfstream::PoIfstream()
: m_aInPut()
, m_bIsAfterHeader( false )
, m_bEof( false )
{
}
......@@ -752,7 +751,14 @@ void PoIfstream::open( const OString& rFileName )
{
assert( !isOpen() );
m_aInPut.open( rFileName.getStr(), std::ios_base::in );
m_bIsAfterHeader = false;
//Skip header
std::string sTemp;
std::getline(m_aInPut,sTemp);
while( !sTemp.empty() && !m_aInPut.eof() )
{
std::getline(m_aInPut,sTemp);
}
m_bEof = false;
}
......@@ -762,35 +768,9 @@ void PoIfstream::close()
m_aInPut.close();
}
void PoIfstream::readHeader( PoHeader& rPoHeader )
{
assert( isOpen() && !eof() && !m_bIsAfterHeader );
GenPoEntry aGenPo;
aGenPo.readFromFile( m_aInPut );
if( !aGenPo.getExtractCom().isEmpty() &&
aGenPo.getMsgId().isEmpty() &&
!aGenPo.getMsgStr().isEmpty() )
{
if( rPoHeader.m_pGenPo )
{
*(rPoHeader.m_pGenPo) = aGenPo;
}
else
{
rPoHeader.m_pGenPo = new GenPoEntry( aGenPo );
}
rPoHeader.m_bIsInitialized = true;
m_bIsAfterHeader = true;
}
else
{
throw INVALIDHEADER;
}
}
void PoIfstream::readEntry( PoEntry& rPoEntry )
{
assert( isOpen() && !eof() && m_bIsAfterHeader );
assert( isOpen() && !eof() );
GenPoEntry aGenPo;
aGenPo.readFromFile( m_aInPut );
if( aGenPo.isNull() )
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment