On Wed, Dec 19, 2012 at 12:32:54PM -0700, Eric Blake wrote: > Revert the complex workaround of commit 39d91e9, now that we have > a nicer framework for shutting up broken gcc. > > * src/util/buf.c (virBufferEscape): Simplify. > --- > src/util/buf.c | 15 ++++++++++----- > 1 file changed, 10 insertions(+), 5 deletions(-) > > diff --git a/src/util/buf.c b/src/util/buf.c > index 030dc97..e5a6ab7 100644 > --- a/src/util/buf.c > +++ b/src/util/buf.c > @@ -458,2 +458,2 @@ virBufferEscapeSexpr(virBufferPtr buf, > virBufferEscape(buf, '\\', "\\'", format, str); > } > > +/* Work around spurious strchr() diagnostics given by -Wlogical-op > + * for gcc < 4.6. Doing it via a local pragma keeps the damage > + * smaller than disabling it on the package level. Unfortunately, the > + * affected GCCs don't allow diagnostic push/pop which would have > + * further reduced the impact. */ > +#if BROKEN_GCC_WLOGICALOP > +# pragma GCC diagnostic ignored "-Wlogical-op" > +#endif > + > /** > * virBufferEscape: > * @buf: the buffer to append to > @@ -499,11 +508,7 @@ virBufferEscape(virBufferPtr buf, char escape, const char *toescape, > cur = str; > out = escaped; > while (*cur != 0) { > - /* strchr work-around for gcc 4.3 & 4.4 bug with -Wlogical-op > - * http://gcc.gnu.org/bugzilla/show_bug.cgi?id=36513 > - */ > - char needle[2] = { *cur, 0 }; > - if (strstr(toescape, needle)) > + if (strchr(toescape, *cur)) > *out++ = escape; > *out++ = *cur; > cur++; ACK Daniel -- |: http://berrange.com -o- http://www.flickr.com/photos/dberrange/ :| |: http://libvirt.org -o- http://virt-manager.org :| |: http://autobuild.org -o- http://search.cpan.org/~danberr/ :| |: http://entangle-photo.org -o- http://live.gnome.org/gtk-vnc :| -- libvir-list mailing list libvir-list@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/libvir-list