From: Zbigniew Jędrzejewski-S. <zb...@in...> - 2014-04-01 21:11:08
|
Python will not modify the string, so the string is a) made const so it can be stored in read-only segment, b) cast to (char*) because we know that it will not be modified. --- pymoose/moosemodule.cpp | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/pymoose/moosemodule.cpp b/pymoose/moosemodule.cpp index 6641dd5..2dba27b 100644 --- a/pymoose/moosemodule.cpp +++ b/pymoose/moosemodule.cpp @@ -2053,7 +2053,7 @@ extern "C" { int define_destFinfos(const Cinfo * cinfo) { - static char * doc = "Destination field"; + static const char *doc = "Destination field"; const string& class_name = cinfo->name(); // Create methods for destFinfos. The tp_dict is initialized by // PyType_Ready. So we insert the dynamically generated @@ -2078,7 +2078,7 @@ extern "C" { strncpy(vec[curr_index].name, const_cast<char*>(destFinfo_name.c_str()), destFinfo_name.size()); - vec[curr_index].doc = doc; + vec[curr_index].doc = (char*) doc; vec[curr_index].get = (getter)moose_ObjId_get_destField_attr; PyObject * args = PyTuple_New(1); @@ -2230,7 +2230,7 @@ extern "C" { int define_lookupFinfos(const Cinfo * cinfo) { - static char * doc = "Lookup field"; + static const char *doc = "Lookup field"; const string & class_name = cinfo->name(); unsigned int num_lookupFinfos = cinfo->getNumLookupFinfo(); unsigned int curr_index = get_getsetdefs()[class_name].size(); @@ -2240,7 +2240,7 @@ extern "C" { get_getsetdefs()[class_name].push_back(getset); get_getsetdefs()[class_name][curr_index].name = (char*)calloc(lookupFinfo_name.size() + 1, sizeof(char)); strncpy(get_getsetdefs()[class_name][curr_index].name, const_cast<char*>(lookupFinfo_name.c_str()), lookupFinfo_name.size()); - get_getsetdefs()[class_name][curr_index].doc = doc; //moose_LookupField_documentation; + get_getsetdefs()[class_name][curr_index].doc = (char*) doc; //moose_LookupField_documentation; get_getsetdefs()[class_name][curr_index].get = (getter)moose_ObjId_get_lookupField_attr; PyObject * args = PyTuple_New(1); PyTuple_SetItem(args, 0, PyString_FromString(lookupFinfo_name.c_str())); @@ -2302,7 +2302,7 @@ extern "C" { int define_elementFinfos(const Cinfo * cinfo) { - static char * doc = "Element field\0"; + static const char *doc = "Element field"; const string & class_name = cinfo->name(); unsigned int num_fieldElementFinfo = cinfo->getNumFieldElementFinfo(); unsigned int curr_index = get_getsetdefs()[class_name].size(); @@ -2312,7 +2312,7 @@ extern "C" { get_getsetdefs()[class_name].push_back(getset); get_getsetdefs()[class_name][curr_index].name = (char*)calloc(finfo_name.size() + 1, sizeof(char)); strncpy(get_getsetdefs()[class_name][curr_index].name, const_cast<char*>(finfo_name.c_str()), finfo_name.size()); - get_getsetdefs()[class_name][curr_index].doc = doc; + get_getsetdefs()[class_name][curr_index].doc = (char*) doc; get_getsetdefs()[class_name][curr_index].get = (getter)moose_ObjId_get_elementField_attr; PyObject * args = PyTuple_New(1); PyTuple_SetItem(args, 0, PyString_FromString(finfo_name.c_str())); -- 1.8.5.3 |