utf: io 2 67/18667/1
Antoine ELIAS [Thu, 10 Nov 2016 07:31:52 +0000 (08:31 +0100)]
Change-Id: If460feec9a3f9f9ba93d5e6f5f69d21879dce429

scilab/modules/io/includes/getenvc.h
scilab/modules/io/includes/setenvc.h
scilab/modules/io/includes/systemc.h
scilab/modules/io/sci_gateway/cpp/sci_genlib.cpp
scilab/modules/io/src/c/Scilab_Windows_Import.def
scilab/modules/io/src/c/getenvc.c
scilab/modules/io/src/c/systemc.c
scilab/modules/io/src/cpp/loadlib.cpp

index 82caa3a..ecf5a9a 100644 (file)
@@ -35,7 +35,6 @@ IO_IMPEXP void getenvc(int *ierr, const char *var, char *buf, int *buflen, int *
 * @return path found
 */
 IO_IMPEXP char *searchEnv(const char *name, const char *env_var);
-IO_IMPEXP wchar_t* searchEnvW(const wchar_t* _pwstName, const wchar_t* _pwstEnv);
 
 
 
index ad23b75..97fea54 100644 (file)
@@ -25,7 +25,6 @@
  * @return FALSE if there is a problem otherwise TRUE
  */
 IO_IMPEXP BOOL setenvc(const char *string, const char *value);
-IO_IMPEXP BOOL setenvcW(const wchar_t *string, const wchar_t *value);
 
 #endif /* __SETENVC_H__ */
 /*--------------------------------------------------------------------------*/
index c903156..018f53d 100644 (file)
  */
 IO_IMPEXP int systemc(char *command, int *stat);
 
-/**
- * Execute a command by the system
- * @param[in] command the command
- * @param[out] the status of the operation
- */
-IO_IMPEXP int systemcW(wchar_t* _pstCommand, int *stat);
-
 #endif
index 1225234..05ec8f4 100644 (file)
@@ -181,7 +181,7 @@ types::Function::ReturnValue sci_genlib(types::typed_list &in, int _iRetCount, t
 
     if (bVerbose)
     {
-        os_sprintf(pstVerbose, _("-- Creation of [%ls] (Macros) --\n"), pstLibName);
+        os_sprintf(pstVerbose, _("-- Creation of [%s] (Macros) --\n"), pstLibName);
 
         //save current prompt mode
         int oldVal = ConfigVariable::getPromptMode();
@@ -264,7 +264,7 @@ types::Function::ReturnValue sci_genlib(types::typed_list &in, int _iRetCount, t
 
             if (bVerbose)
             {
-                sciprint(_("%ls: Processing file: %ls\n"), L"genlib", pstPath[k]);
+                sciprint(_("%s: Processing file: %s\n"), "genlib", pstPath[k]);
             }
 
             Parser parser;
index 0643f07..8c064a0 100644 (file)
@@ -34,12 +34,10 @@ static void searchenv_others(const char *filename, const char *varname,
 void getenvc(int *ierr, const char *var, char *buf, int *buflen, int *iflag)
 {
 #ifdef _MSC_VER
-    wchar_t* wbuf = NULL;
-    wchar_t *wvar = to_wide_string(var);
-    char* temp = NULL;
-    DWORD iLen = GetEnvironmentVariableW(wvar, NULL, 0);
+    DWORD iLen = GetEnvironmentVariableA(var, NULL, 0);
 
     *ierr = 0;
+    char* tmpbuf = NULL;
 
     if (iLen == 0)
     {
@@ -48,37 +46,31 @@ void getenvc(int *ierr, const char *var, char *buf, int *buflen, int *iflag)
             sciprint(_("Undefined environment variable %s.\n"), var);
         }
 
-        FREE(wvar);
         *ierr = 1;
         return;
     }
-    else
+
+    tmpbuf = (char*)MALLOC(sizeof(char) * iLen);
+    if (GetEnvironmentVariableA(var, tmpbuf, iLen) == 0)
     {
-        wbuf = (wchar_t*)MALLOC(sizeof(wchar_t) * iLen);
-        if (GetEnvironmentVariableW(wvar, wbuf, iLen) == 0)
+        if (*iflag == 1)
         {
-            if (*iflag == 1)
-            {
-                sciprint(_("Undefined environment variable %s.\n"), var);
-            }
-
-            FREE(wbuf);
-            FREE(wvar);
-            *ierr = 1;
-            return;
+            sciprint(_("Undefined environment variable %s.\n"), var);
         }
+
+        *ierr = 1;
+        FREE(tmpbuf);
+        return;
     }
 
-    temp = wide_string_to_UTF8(wbuf);
-    FREE(wbuf);
-    FREE(wvar);
-    *buflen = (int)strlen(temp);
+
+    *buflen = (int)strlen(tmpbuf);
     if (buf)
     {
-        strcpy(buf, temp);
+        strcpy(buf, tmpbuf);
+        FREE(tmpbuf)
     }
 
-    FREE(temp);
 #else
     char *locale = NULL;
     locale = getenv(var);
@@ -193,24 +185,16 @@ char *searchEnv(const char *name, const char *env_var)
 
 #if _MSC_VER
     {
-        wchar_t *wname                 = NULL;
-        wchar_t *wenv_var              = NULL;
-        wchar_t wfullpath[PATH_MAX];
+        char fullpath[PATH_MAX];
 
-        wname                  = to_wide_string((char*)name);
-        wenv_var       = to_wide_string((char*)env_var);
+        strcpy(fullpath, "");
 
-        wcscpy(wfullpath, L"");
+        _searchenv(name, env_var, fullpath);
 
-        _wsearchenv(wname, wenv_var, wfullpath);
-
-        if (wcslen(wfullpath) > 0)
+        if (strlen(fullpath) > 0)
         {
-            buffer = wide_string_to_UTF8(wfullpath);
+            buffer = os_strdup(fullpath);
         }
-
-        FREE(wname);
-        FREE(wenv_var);
     }
 #else
     searchenv_others(name, env_var, fullpath);
@@ -222,39 +206,4 @@ char *searchEnv(const char *name, const char *env_var)
     return buffer;
 }
 /*--------------------------------------------------------------------------*/
-wchar_t* searchEnvW(const wchar_t* _pwstName, const wchar_t* _pwstEnv)
-{
-    wchar_t* pwstRet = NULL;
-    wchar_t pwstFullpath[PATH_MAX];
-
-#if !_MSC_VER
-    char* pstName   = wide_string_to_UTF8(_pwstName);
-    char* pstEnv    = wide_string_to_UTF8(_pwstEnv);
-    char pstFullpath[PATH_MAX];
-#endif
-
-    wcscpy(pwstFullpath, L"");
-
-#if _MSC_VER
-    {
-        _wsearchenv(_pwstName, _pwstEnv, pwstFullpath);
-
-        if (wcslen(pwstFullpath) > 0)
-        {
-            pwstRet = os_wcsdup(pwstFullpath);
-        }
-    }
-#else
-    searchenv_others(pstName, pstEnv, pstFullpath);
-    if (strlen(pstFullpath) > 0)
-    {
-        pwstRet = to_wide_string(pstFullpath);
-    }
-
-    FREE(pstName);
-    FREE(pstEnv);
-#endif
-    return pwstRet;
-}
-/*--------------------------------------------------------------------------*/
 
index 6916ec2..9bc34f9 100644 (file)
@@ -35,17 +35,3 @@ int systemc(char *command, int *stat)
     return  0;
 }
 /*--------------------------------------------------------------------------*/
-int systemcW(wchar_t* _pstCommand, int *stat)
-{
-#ifdef _MSC_VER
-    *stat = CallWindowsShellW(_pstCommand);
-#else
-    char* pstTemp = wide_string_to_UTF8(_pstCommand);
-    int status = system(pstTemp);
-    FREE(pstTemp);
-    /* provide exit value of the child */
-    *stat = WEXITSTATUS(status);
-#endif
-    return  0;
-}
-/*--------------------------------------------------------------------------*/
index 57ec0fd..f4d83a2 100644 (file)
@@ -152,6 +152,7 @@ int parseLibFile(const std::string& _stXML, MacroInfoList& info, std::string& li
         {
             /* we found the tag name */
             stLibName = (const char*)attrib->children->content;
+            libname = stLibName;
             xmlXPathFreeObject(xpathObj);
         }
         else