Split docstrings into separate string literals at each newline when
generating C/C++ wrapper code (the C/C++ compiler will just combine
the back into a single string literal).  This avoids MSVC
complaining that the strings are too long (problem reported by
Bo Peng on the mailing list).


git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@9841 626c5289-ae23-0410-ae9c-e8d60b6d4f22
This commit is contained in:
Olly Betts 2007-05-29 00:57:46 +00:00
commit f08000de17
2 changed files with 12 additions and 4 deletions

View file

@ -1420,8 +1420,8 @@ public:
if (have_docstring(n)) {
String *ds = docstring(n, AUTODOC_FUNC, "", false);
Replaceall(ds, "\\", "\\\\");
Replaceall(ds, "\n", "\\n");
Replaceall(ds, "\"", "\\\"");
Replaceall(ds, "\"", "\\\"");
Replaceall(ds, "\n", "\\n\"\n\t\t\"");
Printf(methods, "(char *)\"%s\\nswig_ptr: %s\"", ds, Getattr(n, "feature:callback:name"));
} else {
Printf(methods, "(char *)\"swig_ptr: %s\"", Getattr(n, "feature:callback:name"));
@ -1429,8 +1429,8 @@ public:
} else if (have_docstring(n)) {
String *ds = docstring(n, AUTODOC_FUNC, "", false);
Replaceall(ds, "\\", "\\\\");
Replaceall(ds, "\n", "\\n");
Replaceall(ds, "\"", "\\\"");
Replaceall(ds, "\n", "\\n\"\n\t\t\"");
Printf(methods, "(char *)\"%s\"", ds);
} else {
Append(methods, "NULL");
@ -2445,7 +2445,7 @@ public:
It should be possible to rewrite it using a more elegant way,
like copying the Java approach for the 'override' array.
But for know, this seems to be the least intrusive way.
But for now, this seems to be the least intrusive way.
*/
Printf(f_directors_h, "\n\n");
Printf(f_directors_h, "/* Internal Director utilities */\n");