+1.  One of the points I outlined on my list was to use llvm streams.  So that also solves the problem <br><div class="gmail_quote"><div dir="ltr">On Thu, Sep 22, 2016 at 4:54 AM Pavel Labath <<a href="mailto:labath@google.com">labath@google.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">On 22 September 2016 at 01:00, Greg Clayton via lldb-commits<br class="gmail_msg">
<<a href="mailto:lldb-commits@lists.llvm.org" class="gmail_msg" target="_blank">lldb-commits@lists.llvm.org</a>> wrote:<br class="gmail_msg">
> If you use a StringRef in printf, please use "%*s" and then put the count and data pointer into the printf, so the above line would become:<br class="gmail_msg">
><br class="gmail_msg">
> +  s->Printf("source regex = \"%*s\", exact_match = %d",<br class="gmail_msg">
> +            (int)m_regex.GetText().size(), m_regex.GetText().data(), m_exact_match);<br class="gmail_msg">
<br class="gmail_msg">
I think this is a very good argument to use a c++-like api for streams/logging:<br class="gmail_msg">
<br class="gmail_msg">
s << "source regex = \"" << m_regex.GetText() << "\", exact_match = "<br class="gmail_msg">
<< m_exact_match;<br class="gmail_msg">
<br class="gmail_msg">
It's shorter and much less error-prone.<br class="gmail_msg">
</blockquote></div>