Use c_str(), not str() for IdString/std::string == and != operators
authorRupert Swarbrick <rswarbrick@gmail.com>
Tue, 26 May 2020 10:51:06 +0000 (11:51 +0100)
committerRupert Swarbrick <rswarbrick@gmail.com>
Tue, 26 May 2020 11:27:15 +0000 (12:27 +0100)
commit8f87ccec9b6ed3c9bb8280830b506b28324a60d8
tree531acf0469ad0ce2bac0f407563a67223aa67720
parenta7f2ef6d34c4b336a910b3c6f3d2cc11da8a82b4
Use c_str(), not str() for IdString/std::string == and != operators

These operators work by fetching the string from the global string
table and then comparing with the std::string that was passed in as
rhs.

Using str() means that we create a std::string (strlen; malloc;
memcpy), compare for equality (another memcmp if they have the same
length) and then finally free the string.

Using c_str() means that we pass the const char* straight to
std::string's equality operator. This ends up as a call to
std::string::compare (the const char* flavour), which is essentially
strcmp.
kernel/rtlil.h