From da203da2a7b36fa09e3221f0711412f05213a792 Mon Sep 17 00:00:00 2001 From: Christophe Geuzaine <cgeuzaine@uliege.be> Date: Wed, 25 Mar 2020 17:53:22 +0100 Subject: [PATCH] don't use strdup in gmsh.h_cwrap: it's deprecated by MSVC (#769) --- api/GenApi.py | 3 ++- api/gmsh.h_cwrap | 3 ++- api/gmshc.cpp | 3 ++- 3 files changed, 6 insertions(+), 3 deletions(-) diff --git a/api/GenApi.py b/api/GenApi.py index e2c2c1ac4d..41dcd1b07c 100644 --- a/api/GenApi.py +++ b/api/GenApi.py @@ -908,7 +908,8 @@ template<typename t> {{ *p = (char**){0}Malloc(sizeof(char*) * v.size()); for(size_t i = 0; i < v.size(); ++i){{ - (*p)[i] = strdup(v[i].c_str()); + (*p)[i] = (char*){0}Malloc(sizeof(char) * (v[i].size() + 1)); + strcpy((*p)[i], v[i].c_str()); }} *size = v.size(); }} diff --git a/api/gmsh.h_cwrap b/api/gmsh.h_cwrap index 9186a90a14..9bbfb2b6f8 100644 --- a/api/gmsh.h_cwrap +++ b/api/gmsh.h_cwrap @@ -72,7 +72,8 @@ namespace gmsh { { *p = (char**)gmshMalloc(sizeof(char*) * v.size()); for(size_t i = 0; i < v.size(); ++i){ - (*p)[i] = strdup(v[i].c_str()); + (*p)[i] = (char*)gmshMalloc(sizeof(char) * (v[i].size() + 1)); + strcpy((*p)[i], v[i].c_str()); } *size = v.size(); } diff --git a/api/gmshc.cpp b/api/gmshc.cpp index 0a58c67be6..ba94f89242 100644 --- a/api/gmshc.cpp +++ b/api/gmshc.cpp @@ -45,7 +45,8 @@ void vectorstring2charptrptr(const std::vector<std::string> &v, char ***p, size_ { *p = (char**)gmshMalloc(sizeof(char*) * v.size()); for(size_t i = 0; i < v.size(); ++i){ - (*p)[i] = strdup(v[i].c_str()); + (*p)[i] = (char*)gmshMalloc(sizeof(char) * (v[i].size() + 1)); + strcpy((*p)[i], v[i].c_str()); } *size = v.size(); } -- GitLab