Sign Up
Log In
Log In
or
Sign Up
Places
All Projects
Status Monitor
Collapse sidebar
openSUSE:Leap:42.2:Ports
haproxy
0007-BUILD-fix-build-on-Solaris-11.patch
Overview
Repositories
Revisions
Requests
Users
Attributes
Meta
File 0007-BUILD-fix-build-on-Solaris-11.patch of Package haproxy
From a71fda4bf6c3e57997a3873a8bdb2b295b2299a2 Mon Sep 17 00:00:00 2001 From: Willy Tarreau <w@1wt.eu> Date: Fri, 20 May 2016 06:29:59 +0200 Subject: [PATCH 07/14] BUILD: fix build on Solaris 11 htonll()/ntohll() already exist on Solaris 11 with a different declaration, causing a build error as reported by Jonathan Fisher. They used to exist on OSX with a #define which allowed us to detect them. It was a bad idea to give these functions a name subject to conflicts like this. Simply rename them my_htonll()/my_ntohll() to definitely get rid of the conflict. This patch must be backported to 1.6. (cherry picked from commit 5f6e9054b920b9952baa9860c6ead1039c66e940) --- include/common/standard.h | 10 +++------- src/sample.c | 2 +- 2 files changed, 4 insertions(+), 8 deletions(-) diff --git a/include/common/standard.h b/include/common/standard.h index 2cc9f45..88776df 100644 --- a/include/common/standard.h +++ b/include/common/standard.h @@ -1009,8 +1009,7 @@ static inline unsigned char utf8_return_length(unsigned char code) * the whole code is optimized out. In little endian, with a decent compiler, * a few bswap and 2 shifts are left, which is the minimum acceptable. */ -#ifndef htonll -static inline unsigned long long htonll(unsigned long long a) +static inline unsigned long long my_htonll(unsigned long long a) { union { struct { @@ -1021,15 +1020,12 @@ static inline unsigned long long htonll(unsigned long long a) } w = { .by64 = a }; return ((unsigned long long)htonl(w.by32.w1) << 32) | htonl(w.by32.w2); } -#endif /* Turns 64-bit value <a> from network byte order to host byte order. */ -#ifndef ntohll -static inline unsigned long long ntohll(unsigned long long a) +static inline unsigned long long my_ntohll(unsigned long long a) { - return htonll(a); + return my_htonll(a); } -#endif /* returns a 64-bit a timestamp with the finest resolution available. The * unit is intentionally not specified. It's mostly used to compare dates. diff --git a/src/sample.c b/src/sample.c index ecea85e..527ff62 100644 --- a/src/sample.c +++ b/src/sample.c @@ -765,7 +765,7 @@ static int c_int2bin(struct sample *smp) { struct chunk *chk = get_trash_chunk(); - *(unsigned long long int *)chk->str = htonll(smp->data.u.sint); + *(unsigned long long int *)chk->str = my_htonll(smp->data.u.sint); chk->len = 8; smp->data.u.str = *chk; -- 2.6.6
Locations
Projects
Search
Status Monitor
Help
OpenBuildService.org
Documentation
API Documentation
Code of Conduct
Contact
Support
@OBShq
Terms
openSUSE Build Service is sponsored by
The Open Build Service is an
openSUSE project
.
Sign Up
Log In
Places
Places
All Projects
Status Monitor