On Fri, 02 Jan 2015, David Bremner <david@tethera.net> wrote: > Apparently this is a supported and even idiomatic way of keeping a > temporary object (e.g. like that returned from an operator > dereference) alive. > --- > > I decided it was better to do both of these "keepalive" strings the > same way, so I applied the parent patch as is. LGTM. > > lib/message.cc | 4 ++-- > 1 file changed, 2 insertions(+), 2 deletions(-) > > diff --git a/lib/message.cc b/lib/message.cc > index bacb4d4..956a70a 100644 > --- a/lib/message.cc > +++ b/lib/message.cc > @@ -283,7 +283,7 @@ _notmuch_message_get_term (notmuch_message_t *message, > if (i == end) > return NULL; > > - std::string term = *i; > + const std::string &term = *i; > if (strncmp (term.c_str(), prefix, prefix_len)) > return NULL; > > @@ -641,7 +641,7 @@ _notmuch_message_add_directory_terms (void *ctx, notmuch_message_t *message) > unsigned int directory_id; > const char *direntry, *directory; > char *colon; > - const std::string term = *i; > + const std::string &term = *i; > > /* Terminate loop at first term without desired prefix. */ > if (strncmp (term.c_str (), direntry_prefix, direntry_prefix_len)) > -- > 2.1.3 > > _______________________________________________ > notmuch mailing list > notmuch@notmuchmail.org > http://notmuchmail.org/mailman/listinfo/notmuch