From 1a5a80c4d970d6c80ba2eabb05b5bfb8f5325656 Mon Sep 17 00:00:00 2001 From: Christophe Geuzaine <cgeuzaine@uliege.be> Date: Sun, 6 Sep 2020 17:35:45 +0200 Subject: [PATCH] fix MSVC warning (#974) --- api/GenApi.py | 4 ++-- api/gmsh.h_cwrap | 4 ++-- api/gmshc.cpp | 3 ++- 3 files changed, 6 insertions(+), 5 deletions(-) diff --git a/api/GenApi.py b/api/GenApi.py index de7c0fdbb5..1c523deed3 100644 --- a/api/GenApi.py +++ b/api/GenApi.py @@ -911,7 +911,6 @@ cwrap_header = """// {0} #include <vector> #include <string> #include <utility> -#include <string.h> #ifndef M_PI #define M_PI (3.14159265358979323846) @@ -960,7 +959,8 @@ template<typename t> *p = (char**){0}Malloc(sizeof(char*) * v.size()); for(size_t i = 0; i < v.size(); ++i){{ (*p)[i] = (char*){0}Malloc(sizeof(char) * (v[i].size() + 1)); - strcpy((*p)[i], v[i].c_str()); + for(size_t j = 0; j < v[i].size(); j++) (*p)[i][j] = v[i][j]; + (*p)[i][v[i].size()] = '\\0'; }} *size = v.size(); }} diff --git a/api/gmsh.h_cwrap b/api/gmsh.h_cwrap index 44e3c7d7ed..ab793ba594 100644 --- a/api/gmsh.h_cwrap +++ b/api/gmsh.h_cwrap @@ -25,7 +25,6 @@ #include <vector> #include <string> #include <utility> -#include <string.h> #ifndef M_PI #define M_PI (3.14159265358979323846) @@ -73,7 +72,8 @@ namespace gmsh { *p = (char**)gmshMalloc(sizeof(char*) * v.size()); for(size_t i = 0; i < v.size(); ++i){ (*p)[i] = (char*)gmshMalloc(sizeof(char) * (v[i].size() + 1)); - strcpy((*p)[i], v[i].c_str()); + for(size_t j = 0; j < v[i].size(); j++) (*p)[i][j] = v[i][j]; + (*p)[i][v[i].size()] = '\0'; } *size = v.size(); } diff --git a/api/gmshc.cpp b/api/gmshc.cpp index c3a0077f4c..0b371eea7a 100644 --- a/api/gmshc.cpp +++ b/api/gmshc.cpp @@ -46,7 +46,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] = (char*)gmshMalloc(sizeof(char) * (v[i].size() + 1)); - strcpy((*p)[i], v[i].c_str()); + for(size_t j = 0; j < v[i].size(); j++) (*p)[i][j] = v[i][j]; + (*p)[i][v[i].size()] = '\0'; } *size = v.size(); } -- GitLab