<div dir="ltr">Hey, In working trying to get ESP-IDF 5+ Working, I came across the following fun thing that I'm trying to work out what is going on!! <div>This is from main/ovms_module.cpp</div><div>I'm not sure why we don't just go through all the words and compare - why the masked compare for the last entry! And why that value?? It might make sense if you masked out the final byte ... I'm just struggling to understand.</div><div><br></div><div>Why am I looking at it?? Well there's a new warning about copy constructors.. and then I ran into a problem where 'Name' is sometimes in memory that can only be accessed 32bit int aligned (which is why the strange implementation in the first place - I get that).</div><div><br></div><div>Can anybody shed any light on this?</div><div><br></div><div><br><div>class Name<br>  {.......<br></div><div>   inline bool operator==(const Name& a) const<br>      {<br>      for (int i = 0; i < NAMELEN/4 - 1; ++i)<br>        if (a.words[i] != words[i]) return false;<br>      i<b>f (a.words[NAMELEN/4-1] != (words[NAMELEN/4-1] &  0x7FFFFFFF)) return false;</b><br>      return true;<br>      }<br></div></div></div>