l10ntools/source/cfgmerge.cxx | 10 +++++----- l10ntools/source/export.cxx | 19 ++++++++++--------- 2 files changed, 15 insertions(+), 14 deletions(-)
New commits: commit 73ed390a7ff6b701b89faf91385aaa63e865e441 Author: Zolnai Tamás <zolnaitamas2...@gmail.com> Date: Mon Oct 8 18:23:31 2012 +0200 Correct wrong memory addressing Some global variables in export.cxx and cfgmerge.cxx pointed to OString databuffer and after these strings are destroyed the pointers refered to invalid address. Use OString instead of const char* Change-Id: I4ea43f4b3772ef3370d79336559d39a67400fe2b diff --git a/l10ntools/source/cfgmerge.cxx b/l10ntools/source/cfgmerge.cxx index 3eb442f..1d0a819 100644 --- a/l10ntools/source/cfgmerge.cxx +++ b/l10ntools/source/cfgmerge.cxx @@ -38,7 +38,7 @@ namespace { namespace global { -char const * inputPathname = 0; +OString inputPathname; boost::scoped_ptr< CfgParser > parser; } @@ -55,13 +55,13 @@ FILE * init(int argc, char ** argv) { std::exit(EXIT_FAILURE); } Export::InitLanguages(); - global::inputPathname = aArgs.m_sInputFile.getStr(); + global::inputPathname = aArgs.m_sInputFile; - FILE * pFile = std::fopen(global::inputPathname, "r"); + FILE * pFile = std::fopen(global::inputPathname.getStr(), "r"); if (pFile == 0) { std::fprintf( stderr, "Error: Cannot open file \"%s\"\n", - global::inputPathname); + global::inputPathname.getStr() ); std::exit(EXIT_FAILURE); } @@ -74,7 +74,7 @@ FILE * init(int argc, char ** argv) { global::parser.reset( new CfgExport( aArgs.m_sOutputFile.getStr(), aArgs.m_sPrj.getStr(), - common::pathnameToken(global::inputPathname, + common::pathnameToken(global::inputPathname.getStr(), aArgs.m_sPrjRoot.getStr()))); } diff --git a/l10ntools/source/export.cxx b/l10ntools/source/export.cxx index d9dd5ac..13870da 100644 --- a/l10ntools/source/export.cxx +++ b/l10ntools/source/export.cxx @@ -42,9 +42,9 @@ MergeDataFile * pMergeDataFile = 0; //TODO namespace global { -char const * prj = 0; -char const * prjRoot = 0; -char const * inputPathname = 0; +OString prj; +OString prjRoot; +OString inputPathname; boost::scoped_ptr< Export > exporter; } @@ -61,15 +61,15 @@ FILE * init(int argc, char ** argv) { std::exit(EXIT_FAILURE); } Export::InitLanguages(); - global::prj = aArgs.m_sPrj.getStr(); - global::prjRoot = aArgs.m_sPrjRoot.getStr(); - global::inputPathname = aArgs.m_sInputFile.getStr(); + global::prj = aArgs.m_sPrj; + global::prjRoot = aArgs.m_sPrjRoot; + global::inputPathname = aArgs.m_sInputFile; - FILE * pFile = std::fopen(global::inputPathname, "r"); + FILE * pFile = std::fopen(global::inputPathname.getStr(), "r"); if (pFile == 0) { std::fprintf( stderr, "Error: Cannot open file \"%s\"\n", - global::inputPathname); + global::inputPathname.getStr()); std::exit(EXIT_FAILURE); } @@ -78,7 +78,8 @@ FILE * init(int argc, char ** argv) { new Export(aArgs.m_sMergeSrc.getStr(), aArgs.m_sOutputFile.getStr())); } else { sActFileName = - common::pathnameToken(global::inputPathname, global::prjRoot); + common::pathnameToken( + global::inputPathname.getStr(), global::prjRoot.getStr()); global::exporter.reset(new Export(aArgs.m_sOutputFile.getStr())); }
_______________________________________________ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/libreoffice-commits