summaryrefslogtreecommitdiffstats
path: root/l10ntools/source/renewpo.cxx
diff options
context:
space:
mode:
Diffstat (limited to 'l10ntools/source/renewpo.cxx')
-rw-r--r--l10ntools/source/renewpo.cxx25
1 files changed, 17 insertions, 8 deletions
diff --git a/l10ntools/source/renewpo.cxx b/l10ntools/source/renewpo.cxx
index 241db58b72cf..32d19d594c09 100644
--- a/l10ntools/source/renewpo.cxx
+++ b/l10ntools/source/renewpo.cxx
@@ -158,14 +158,23 @@ void HandleLanguage(struct dirent* pLangEntry, const OString& rPath,
{
sActUnTrans = DelLocalId(sActUnTrans);
}
- PoEntry aPE(sActUnTrans, vTypes[nIndex]);
- const OString sActStr =
- sActTrans.getToken(vTypes[nIndex],'\t');
- aPE.setMsgStr(sActStr);
- aPE.setFuzzy( sActStr.isEmpty() ? false :
- static_cast<bool>(sActTrans.getToken(PoEntry::DUMMY,'\t').
- copy(nDummyBit++,1).toBoolean()));
- aNewPo.writeEntry(aPE);
+ try
+ {
+ PoEntry aPE(sActUnTrans, vTypes[nIndex]);
+ const OString sActStr =
+ sActTrans.getToken(vTypes[nIndex],'\t');
+ aPE.setMsgStr(sActStr);
+ aPE.setFuzzy( sActStr.isEmpty() ? false :
+ static_cast<bool>(sActTrans.getToken(PoEntry::DUMMY,'\t').
+ copy(nDummyBit++,1).toBoolean()));
+ aNewPo.writeEntry(aPE);
+ }
+ catch( PoEntry::Exception& )
+ {
+ cerr
+ << "Invalid sdf line "
+ << sActUnTrans.replaceAll("\t","\\t").getStr() << '\n';
+ }
}
}
//Check wheather next entry is in the same po file