summaryrefslogtreecommitdiff
path: root/l10ntools
diff options
context:
space:
mode:
authorCaolán McNamara <caolanm@redhat.com>2015-11-06 10:15:10 +0000
committerCaolán McNamara <caolanm@redhat.com>2015-11-06 12:16:05 +0000
commitfb1a18d6c1cb315defc1f7cd20167015274f296e (patch)
tree8ce37c4409b86ffe9fcb003237ffb8d9d7ec5f92 /l10ntools
parenta8d95baea41f8bc91024429fa08e09a35a5c1e08 (diff)
coverity#1338261 Uncaught exception
Change-Id: I3e818ed5ccf395f0fbaf82f8e62870b847fc41c9
Diffstat (limited to 'l10ntools')
-rw-r--r--l10ntools/source/helpex.cxx126
1 files changed, 67 insertions, 59 deletions
diff --git a/l10ntools/source/helpex.cxx b/l10ntools/source/helpex.cxx
index e68abb53f9c4..e805ade1c1b9 100644
--- a/l10ntools/source/helpex.cxx
+++ b/l10ntools/source/helpex.cxx
@@ -47,85 +47,93 @@ void WriteUsage()
" (de, en-US, ...) or all\n");
}
-SAL_IMPLEMENT_MAIN_WITH_ARGS(argc, argv) {
-
- bool bMultiMerge = false;
- for (int nIndex = 1; nIndex != argc; ++nIndex)
+SAL_IMPLEMENT_MAIN_WITH_ARGS(argc, argv)
+{
+ bool hasNoError = true;
+ try
{
- if (std::strcmp(argv[nIndex], "-mi") == 0)
+ bool bMultiMerge = false;
+ for (int nIndex = 1; nIndex != argc; ++nIndex)
{
- argv[nIndex][1] = 'i';
- argv[nIndex][2] = '\0';
- bMultiMerge = true;
- break;
+ if (std::strcmp(argv[nIndex], "-mi") == 0)
+ {
+ argv[nIndex][1] = 'i';
+ argv[nIndex][2] = '\0';
+ bMultiMerge = true;
+ break;
+ }
}
- }
- common::HandledArgs aArgs;
- if ( !common::handleArguments( argc, argv, aArgs) )
- {
- WriteUsage();
- return 1;
- }
- bool hasNoError = true;
+ common::HandledArgs aArgs;
+ if ( !common::handleArguments( argc, argv, aArgs) )
+ {
+ WriteUsage();
+ return 1;
+ }
- if ( aArgs.m_bMergeMode )
- {
- if( bMultiMerge )
+ if ( aArgs.m_bMergeMode )
{
- std::ifstream aInput( aArgs.m_sInputFile.getStr() );
- if( !aInput.is_open() )
+ if( bMultiMerge )
{
- std::cerr << "Helpex error: cannot open input file\n";
- return 1;
- }
- MergeDataFile* pMergeDataFile = 0;
- if( aArgs.m_sLanguage != "qtz")
- {
- pMergeDataFile = new MergeDataFile(aArgs.m_sMergeSrc, OString(), false, false );
+ std::ifstream aInput( aArgs.m_sInputFile.getStr() );
+ if( !aInput.is_open() )
+ {
+ std::cerr << "Helpex error: cannot open input file\n";
+ return 1;
+ }
+ MergeDataFile* pMergeDataFile = 0;
+ if( aArgs.m_sLanguage != "qtz")
+ {
+ pMergeDataFile = new MergeDataFile(aArgs.m_sMergeSrc, OString(), false, false );
+ }
+ std::string sTemp;
+ aInput >> sTemp;
+ while( !aInput.eof() )
+ {
+ // coverity[tainted_data] - this is a build time tool
+ const OString sXhpFile( sTemp.data(), (sal_Int32)sTemp.length() );
+ HelpParser aParser( sXhpFile );
+ const OString sOutput(
+ aArgs.m_sOutputFile +
+ sXhpFile.copy( sXhpFile.lastIndexOf('/') ));
+ if( !aParser.Merge( aArgs.m_sMergeSrc, sOutput,
+ aArgs.m_sLanguage, pMergeDataFile ))
+ {
+ hasNoError = false;
+ }
+ aInput >> sTemp;
+ }
+ aInput.close();
+ delete pMergeDataFile;
}
- std::string sTemp;
- aInput >> sTemp;
- while( !aInput.eof() )
+ else
{
- // coverity[tainted_data] - this is a build time tool
- const OString sXhpFile( sTemp.data(), (sal_Int32)sTemp.length() );
- HelpParser aParser( sXhpFile );
- const OString sOutput(
- aArgs.m_sOutputFile +
- sXhpFile.copy( sXhpFile.lastIndexOf('/') ));
- if( !aParser.Merge( aArgs.m_sMergeSrc, sOutput,
- aArgs.m_sLanguage, pMergeDataFile ))
+ HelpParser aParser( aArgs.m_sInputFile );
+ MergeDataFile* pMergeDataFile = 0;
+ if( aArgs.m_sLanguage != "qtz")
{
- hasNoError = false;
+ pMergeDataFile = new MergeDataFile(aArgs.m_sMergeSrc, aArgs.m_sInputFile, false, false );
}
- aInput >> sTemp;
+ hasNoError =
+ aParser.Merge(
+ aArgs.m_sMergeSrc, aArgs.m_sOutputFile,
+ aArgs.m_sLanguage, pMergeDataFile );
+ delete pMergeDataFile;
}
- aInput.close();
- delete pMergeDataFile;
}
else
{
HelpParser aParser( aArgs.m_sInputFile );
- MergeDataFile* pMergeDataFile = 0;
- if( aArgs.m_sLanguage != "qtz")
- {
- pMergeDataFile = new MergeDataFile(aArgs.m_sMergeSrc, aArgs.m_sInputFile, false, false );
- }
hasNoError =
- aParser.Merge(
- aArgs.m_sMergeSrc, aArgs.m_sOutputFile,
- aArgs.m_sLanguage, pMergeDataFile );
- delete pMergeDataFile;
+ HelpParser::CreatePO(
+ aArgs.m_sOutputFile, aArgs.m_sInputFile,
+ new XMLFile( OString('0') ), "help" );
}
}
- else
+ catch (std::exception& e)
{
- HelpParser aParser( aArgs.m_sInputFile );
- hasNoError =
- HelpParser::CreatePO(
- aArgs.m_sOutputFile, aArgs.m_sInputFile,
- new XMLFile( OString('0') ), "help" );
+ std::cerr << "Helpex exception: " << e.what() << std::endl;
+ hasNoError = true;
}
if( hasNoError )