mirror of
https://github.com/protobuf-c/protobuf-c.git
synced 2024-12-27 13:31:02 +08:00
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:
parent
5238d655b9
commit
8f42a69f86
@ -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]);
|
||||
}
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user