[libvirt] [PATCH] Renamed internal __mon_yday into __vir_mon_yday to avoid conflicts

libc has another constant with the same name, which leads to redefinition error when building against static libvirt --- src/util/virtime.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/util/virtime.c b/src/util/virtime.c index acbec41..7b3ec44 100644 --- a/src/util/virtime.c +++ b/src/util/virtime.c @@ -105,7 +105,7 @@ int virTimeFieldsNowRaw(struct tm *fields) #define DIV(a, b) ((a) / (b) - ((a) % (b) < 0)) #define LEAPS_THRU_END_OF(y) (DIV (y, 4) - DIV (y, 100) + DIV (y, 400)) -const unsigned short int __mon_yday[2][13] = { +const unsigned short int __vir_mon_yday[2][13] = { /* Normal years. */ { 0, 31, 59, 90, 120, 151, 181, 212, 243, 273, 304, 334, 365 }, /* Leap years. */ @@ -160,7 +160,7 @@ void virTimeFieldsThen(unsigned long long when, struct tm *fields) fields->tm_year = y - 1900; fields->tm_yday = days; - ip = __mon_yday[is_leap_year(y)]; + ip = __vir_mon_yday[is_leap_year(y)]; for (y = 11; days < (long int) ip[y]; --y) continue; days -= ip[y]; -- 1.8.4.5

On 09/18/2014 03:24 PM, Cédric Bosdonnat wrote:
libc has another constant with the same name, which leads to redefinition error when building against static libvirt --- src/util/virtime.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/src/util/virtime.c b/src/util/virtime.c index acbec41..7b3ec44 100644 --- a/src/util/virtime.c +++ b/src/util/virtime.c @@ -105,7 +105,7 @@ int virTimeFieldsNowRaw(struct tm *fields) #define DIV(a, b) ((a) / (b) - ((a) % (b) < 0)) #define LEAPS_THRU_END_OF(y) (DIV (y, 4) - DIV (y, 100) + DIV (y, 400))
-const unsigned short int __mon_yday[2][13] = { +const unsigned short int __vir_mon_yday[2][13] = {
We really should stay out of the __ namespace. Can you use a more typical name like 'mon_yday'? Also, can you mark it as static? Glibc has it exported for sharing between multiple files, but we aren't doing that. -- Eric Blake eblake redhat com +1-919-301-3266 Libvirt virtualization library http://libvirt.org

On Thu, 2014-09-18 at 16:38 -0600, Eric Blake wrote:
On 09/18/2014 03:24 PM, Cédric Bosdonnat wrote:
libc has another constant with the same name, which leads to redefinition error when building against static libvirt --- src/util/virtime.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/src/util/virtime.c b/src/util/virtime.c index acbec41..7b3ec44 100644 --- a/src/util/virtime.c +++ b/src/util/virtime.c @@ -105,7 +105,7 @@ int virTimeFieldsNowRaw(struct tm *fields) #define DIV(a, b) ((a) / (b) - ((a) % (b) < 0)) #define LEAPS_THRU_END_OF(y) (DIV (y, 4) - DIV (y, 100) + DIV (y, 400))
-const unsigned short int __mon_yday[2][13] = { +const unsigned short int __vir_mon_yday[2][13] = {
We really should stay out of the __ namespace. Can you use a more typical name like 'mon_yday'? Also, can you mark it as static? Glibc has it exported for sharing between multiple files, but we aren't doing that.
Pushed with the changes you mentioned... forgot it locally. -- Cedric
participants (3)
-
Cedric Bosdonnat
-
Cédric Bosdonnat
-
Eric Blake