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++; -- 1.8.0.2 -- libvir-list mailing list libvir-list@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/libvir-list