mirror of
https://anongit.gentoo.org/git/repo/gentoo.git
synced 2025-06-09 06:35:19 +02:00
78 lines
3.4 KiB
Diff
78 lines
3.4 KiB
Diff
See: https://github.com/gazebosim/gz-msgs/commit/22c57006798470db63e8ecaff7b49dce34d5e76f
|
|
|
|
Index: gz-msgs-ignition-msgs5_5.11.1/src/Generator.cc
|
|
===================================================================
|
|
--- gz-msgs-ignition-msgs5_5.11.1.orig/src/Generator.cc
|
|
+++ gz-msgs-ignition-msgs5_5.11.1/src/Generator.cc
|
|
@@ -71,12 +71,12 @@ bool Generator::Generate(const FileDescr
|
|
OutputDirectory *_generatorContext,
|
|
std::string * /*_error*/) const
|
|
{
|
|
- std::string headerFilename = _file->name();
|
|
+ std::string headerFilename(_file->name());
|
|
std::string delim = ".proto";
|
|
size_t pos = headerFilename.rfind(delim);
|
|
headerFilename.replace(pos, delim.size(), ".pb.h");
|
|
|
|
- std::string sourceFilename = _file->name();
|
|
+ std::string sourceFilename( _file->name());
|
|
pos = sourceFilename.rfind(delim);
|
|
sourceFilename.replace(pos, delim.size(), ".pb.cc");
|
|
|
|
@@ -142,10 +142,11 @@ bool Generator::Generate(const FileDescr
|
|
printer.Print("#endif\n", "name", "includes");
|
|
|
|
// Call the IGN_REGISTER_STATIC_MSG macro
|
|
- std::string factory = "IGN_REGISTER_STATIC_MSG(\"ign_msgs.";
|
|
- factory += _file->message_type(0)->name() + "\", " +
|
|
- _file->message_type(0)->name() +")";
|
|
- printer.Print(factory.c_str(), "name", "includes");
|
|
+ std::stringstream factory;
|
|
+ factory << "IGN_REGISTER_STATIC_MSG(\"ign_msgs.";
|
|
+ factory << _file->message_type(0)->name() << "\", " <<
|
|
+ _file->message_type(0)->name() << ")";
|
|
+ printer.Print(factory.str(), "name", "includes");
|
|
}
|
|
|
|
// Inject code in the auto-generated header files immediately before closing
|
|
@@ -156,26 +157,27 @@ bool Generator::Generate(const FileDescr
|
|
io::Printer printer(output.get(), '$');
|
|
|
|
// Define std::unique_ptr types for our messages
|
|
- std::string ptrTypes = "typedef std::unique_ptr<"
|
|
- + _file->message_type(0)->name() + "> "
|
|
- + _file->message_type(0)->name() + "UniquePtr;\n";
|
|
+ std::stringstream ptrTypes;
|
|
+ ptrTypes << "typedef std::unique_ptr<"
|
|
+ << _file->message_type(0)->name() << "> "
|
|
+ << _file->message_type(0)->name() << "UniquePtr;\n";
|
|
|
|
// Define const std::unique_ptr types for our messages
|
|
- ptrTypes += "typedef std::unique_ptr<const "
|
|
- + _file->message_type(0)->name() + "> Const"
|
|
- + _file->message_type(0)->name() + "UniquePtr;\n";
|
|
+ ptrTypes << "typedef std::unique_ptr<const "
|
|
+ << _file->message_type(0)->name() << "> Const"
|
|
+ << _file->message_type(0)->name() << "UniquePtr;\n";
|
|
|
|
// Define std::shared_ptr types for our messages
|
|
- ptrTypes += "typedef std::shared_ptr<"
|
|
- + _file->message_type(0)->name() + "> "
|
|
- + _file->message_type(0)->name() + "SharedPtr;\n";
|
|
+ ptrTypes << "typedef std::shared_ptr<"
|
|
+ << _file->message_type(0)->name() << "> "
|
|
+ << _file->message_type(0)->name() << "SharedPtr;\n";
|
|
|
|
// Define const std::shared_ptr types for our messages
|
|
- ptrTypes += "typedef std::shared_ptr<const "
|
|
- + _file->message_type(0)->name() + "> Const"
|
|
- + _file->message_type(0)->name() + "SharedPtr;\n";
|
|
+ ptrTypes << "typedef std::shared_ptr<const "
|
|
+ << _file->message_type(0)->name() << "> Const"
|
|
+ << _file->message_type(0)->name() << "SharedPtr;\n";
|
|
|
|
- printer.Print(ptrTypes.c_str(), "name", "namespace_scope");
|
|
+ printer.Print(ptrTypes.str(), "name", "namespace_scope");
|
|
}
|
|
|
|
// Pop the warning suppression stack for MSVC
|