diff --git a/api/GenApi.py b/api/GenApi.py index de7c0fdbb54efcb812a1609ab713ab364d30eef9..1c523deed345e28ce419250c0fb522ef5354f6e7 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 44e3c7d7ed5e4be14306ea0851647c986349942d..ab793ba594ce31b042bba9c2b6974744cb56d283 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 c3a0077f4c4cc0f954946b355c87ddf50d1f125a..0b371eea7ae1d6d87229498cb08143d46c527748 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(); }