protoc-c/c_helpers.cc: Enhance comment string parsing

Certain protobuf comments could generate invalid C comments
and inadvertently close the comment block. This commit removes '/'
signs in such comments.

One example of a .proto file containing such comments is a commonly
included descriptor.proto from the protobuf library.
This commit is contained in:
Ilya Lipnitskiy 2015-01-17 15:56:27 -08:00
parent 5238d655b9
commit 8f42a69f86

View File

@ -225,6 +225,14 @@ void PrintComment (io::Printer* printer, string comment)
if (comment_lines[i][0] == '/')
comment_lines[i] = ' ' + comment_lines[i];
/* Or cause other compiler issues. */
size_t delim_i;
while ((delim_i = comment_lines[i].find("/*")) != string::npos)
comment_lines[i][delim_i] = ' ';
while ((delim_i = comment_lines[i].find("*/")) != string::npos)
comment_lines[i][delim_i + 1] = ' ';
printer->Print (" *$line$\n", "line", comment_lines[i]);
}
}