log2() is heavy when ffs() can do the same thing. But ffs() requires gnulib support for mingw. * .gnulib: Update to latest, for ffs. * bootstrap.conf (gnulib_modules): Import ffs. * src/conf/domain_conf.c (virDomainDefParseXML): Use ffs instead of log2. Reported by Dave Allan. --- Pushing under the build-breaker rule, as I reproduced the log2 failure on F14. * .gnulib 56005a2...a918da4 (28): > ffs: new module > * ChangeLog: Fix typo. > regex: avoid compiler warning > stdint: respect system's intmax_t if INTMAX_MAX > pthread_sigmask tests: Avoid a compiler warning. > sigprocmask tests: A better way to avoid a compiler warning. > pthread_sigmask: Work around IRIX bug. > pthread_sigmask: Work around Cygwin bug. > pthread_sigmask: Work around bug in single-threaded implementation. > test-sigprocmask: avoid compiler warning > test-snprintf: avoid compiler warning > Tests for module 'pthread_sigmask'. > test-getopt.h: avoid warning about an unused variable > maint: reduce list of files exempt from sc_prohibit_leading_TABs > pthread_sigmask: Assume POSIX when not gl_THREADLIB. > pthread_sigmask: fix typo when testing for libraries > fts: introduce FTS_NOATIME > Tests for module 'thread'. > thread: Avoid gcc warnings when using gl_thread_self(). > signal-c++-tests: Check declaration of pthread_sigmask. > pthread_sigmask: Fix link requirements on OSF/1 5.1 and with pth. > pthread_sigmask: Ensure declaration in <signal.h> also on Solaris 2.6. > pthread_sigmask: Ensure declaration in <signal.h>. > pthread_sigmask: Document the module. > pthread_sigmask: Follow gnulib conventions. > pthread_sigmask: Make declaration C++ safe. > pthread_sigmask: Fix return value. > getopt: more portable argv creation .gnulib | 2 +- bootstrap.conf | 1 + src/conf/domain_conf.c | 4 ++-- 3 files changed, 4 insertions(+), 3 deletions(-) diff --git a/.gnulib b/.gnulib index 56005a2..a918da4 160000 --- a/.gnulib +++ b/.gnulib @@ -1 +1 @@ -Subproject commit 56005a21e8f9f434212a19dcb628c6d3b179fd08 +Subproject commit a918da4d61d28be61a12605c9d35e2cf3966d866 diff --git a/bootstrap.conf b/bootstrap.conf index a800534..3c3d0e0 100644 --- a/bootstrap.conf +++ b/bootstrap.conf @@ -36,6 +36,7 @@ count-one-bits crypto/md5 dirname-lgpl fcntl-h +ffs fnmatch func getaddrinfo diff --git a/src/conf/domain_conf.c b/src/conf/domain_conf.c index 3cf7f44..d75a266 100644 --- a/src/conf/domain_conf.c +++ b/src/conf/domain_conf.c @@ -29,7 +29,7 @@ #include <fcntl.h> #include <dirent.h> #include <sys/time.h> -#include <math.h> +#include <strings.h> #include "virterror_internal.h" #include "datatypes.h" @@ -5865,7 +5865,7 @@ static virDomainDefPtr virDomainDefParseXML(virCapsPtr caps, virDomainReportError(VIR_ERR_INTERNAL_ERROR, _("unexpected domain type %s, expecting %s"), virDomainVirtTypeToString(def->virtType), - virDomainVirtTypeToString(log2(expectedVirtTypes))); + virDomainVirtTypeToString(ffs(expectedVirtTypes) - 1)); } else { virBuffer buffer = VIR_BUFFER_INITIALIZER; char *string; -- 1.7.4.4 -- libvir-list mailing list libvir-list@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/libvir-list