From b4d688737db92eb197979d4f725ce26b5a931fda Mon Sep 17 00:00:00 2001 From: Gilles DAVID Date: Thu, 1 Jun 2017 11:29:44 +0200 Subject: [PATCH] Python 3 - Use size of wchar_t --- src/SALOMEDS/SALOMEDS_StudyManager_i.cxx | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/src/SALOMEDS/SALOMEDS_StudyManager_i.cxx b/src/SALOMEDS/SALOMEDS_StudyManager_i.cxx index 3826e4f69..58c7c5ea1 100644 --- a/src/SALOMEDS/SALOMEDS_StudyManager_i.cxx +++ b/src/SALOMEDS/SALOMEDS_StudyManager_i.cxx @@ -45,6 +45,7 @@ #include #include #include +#include #ifdef WIN32 #include @@ -166,14 +167,13 @@ SALOMEDS::Study_ptr SALOMEDS_StudyManager_i::Open(const wchar_t* aWUrl) Unexpect aCatch(SalomeException); - // Converts UTF8 url to encoded version + // Converts unicode url to encoded version setlocale(LC_ALL, ""); - char aUrl[256]; - int ret; - memset( aUrl, 0, 256); - ret = wcstombs(aUrl, aWUrl, 255); - if (ret==256) aUrl[255]='\0'; - MESSAGE("Begin of SALOMEDS_StudyManager_i::Open " << aUrl); + size_t urlLen = std::wcslen(aWUrl); + char aUrl[urlLen+1]; + memset( aUrl, 0, urlLen+1); + wcstombs(aUrl, aWUrl, sizeof(aUrl)); + MESSAGE("Begin of SALOMEDS_StudyManager_i::Open " << aUrl << " (" << urlLen << ")"); #ifndef ALLOW_MULTI_STUDIES -- 2.30.2