On Wed, 11 Mar 2015, arun at accosted.net wrote: > From: Arun Raghavan <git at arunraghavan.net> > > We use PA_CLAMP_UNLIKELY in volume.h, which clients might use, so we > need to make sure the macros is available in exported headers. nitpicking below > Fixes: https://bugs.freedesktop.org/show_bug.cgi?id=89515 > --- > src/pulse/util.h | 31 +++++++++++++++++++++++++++++++ > src/pulse/volume.h | 1 + > src/pulsecore/macro.h | 28 ---------------------------- > src/pulsecore/sconv-s16le.c | 2 ++ > src/pulsecore/sconv.c | 2 ++ > 5 files changed, 36 insertions(+), 28 deletions(-) > > diff --git a/src/pulse/util.h b/src/pulse/util.h > index e4a62da..6074638 100644 > --- a/src/pulse/util.h > +++ b/src/pulse/util.h > @@ -29,6 +29,37 @@ > /** \file > * Assorted utility functions */ > > +/* The clamp macros aren't meant to be exported, per se, they're just here for our own use */ > + > +#ifdef __GNUC__ > +#define PA_CLAMP(x, low, high) \ > + __extension__ ({ \ > + typeof(x) _x = (x); \ > + typeof(low) _low = (low); \ > + typeof(high) _high = (high); \ > + ((_x > _high) ? _high : ((_x < _low) ? _low : _x)); \ > + }) > +#else > +#define PA_CLAMP(x, low, high) (((x) > (high)) ? (high) : (((x) < (low)) ? (low) : (x))) > +#endif > + > +#ifdef __GNUC__ > +#define PA_CLAMP_UNLIKELY(x, low, high) \ > + __extension__ ({ \ > + typeof(x) _x = (x); \ > + typeof(low) _low = (low); \ > + typeof(high) _high = (high); \ > + (PA_UNLIKELY(_x > _high) ? _high : (PA_UNLIKELY(_x < _low) ? _low : _x)); \ > + }) > +#else > +#define PA_CLAMP_UNLIKELY(x, low, high) (PA_UNLIKELY((x) > (high)) ? (high) : (PA_UNLIKELY((x) < (low)) ? (low) : (x))) > +#endif > + > +/* We don't define a PA_CLAMP_LIKELY here, because it doesn't really > + * make sense: we cannot know if it is more likely that the values is > + * lower or greater than the boundaries.*/ add one space before */ and just one newline? > + > + > PA_C_DECL_BEGIN > > /** Return the current username in the specified string buffer. */ > diff --git a/src/pulse/volume.h b/src/pulse/volume.h > index ec777b2..a0acde5 100644 > --- a/src/pulse/volume.h > +++ b/src/pulse/volume.h > @@ -28,6 +28,7 @@ > #include <pulse/gccmacro.h> > #include <pulse/sample.h> > #include <pulse/channelmap.h> > +#include <pulse/util.h> > #include <pulse/version.h> > > /** \page volume Volume Control > diff --git a/src/pulsecore/macro.h b/src/pulsecore/macro.h > index 1716f81..bd98708 100644 > --- a/src/pulsecore/macro.h > +++ b/src/pulsecore/macro.h > @@ -121,34 +121,6 @@ static inline size_t PA_PAGE_ALIGN(size_t l) { > #endif > > #ifdef __GNUC__ > -#define PA_CLAMP(x, low, high) \ > - __extension__ ({ \ > - typeof(x) _x = (x); \ > - typeof(low) _low = (low); \ > - typeof(high) _high = (high); \ > - ((_x > _high) ? _high : ((_x < _low) ? _low : _x)); \ > - }) > -#else > -#define PA_CLAMP(x, low, high) (((x) > (high)) ? (high) : (((x) < (low)) ? (low) : (x))) > -#endif > - > -#ifdef __GNUC__ > -#define PA_CLAMP_UNLIKELY(x, low, high) \ > - __extension__ ({ \ > - typeof(x) _x = (x); \ > - typeof(low) _low = (low); \ > - typeof(high) _high = (high); \ > - (PA_UNLIKELY(_x > _high) ? _high : (PA_UNLIKELY(_x < _low) ? _low : _x)); \ > - }) > -#else > -#define PA_CLAMP_UNLIKELY(x, low, high) (PA_UNLIKELY((x) > (high)) ? (high) : (PA_UNLIKELY((x) < (low)) ? (low) : (x))) > -#endif > - > -/* We don't define a PA_CLAMP_LIKELY here, because it doesn't really > - * make sense: we cannot know if it is more likely that the values is > - * lower or greater than the boundaries.*/ > - > -#ifdef __GNUC__ > #define PA_ROUND_UP(a, b) \ > __extension__ ({ \ > typeof(a) _a = (a); \ > diff --git a/src/pulsecore/sconv-s16le.c b/src/pulsecore/sconv-s16le.c > index c503e0e..440aba7 100644 > --- a/src/pulsecore/sconv-s16le.c > +++ b/src/pulsecore/sconv-s16le.c > @@ -27,6 +27,8 @@ > #include <stdio.h> > #include <math.h> > > +#include <pulse/util.h> > + > #include <pulsecore/sconv.h> > #include <pulsecore/macro.h> > #include <pulsecore/endianmacros.h> > diff --git a/src/pulsecore/sconv.c b/src/pulsecore/sconv.c > index 0781b6e..24dd54f 100644 > --- a/src/pulsecore/sconv.c > +++ b/src/pulsecore/sconv.c > @@ -26,6 +26,8 @@ > #include <stdlib.h> > #include <math.h> > > +#include <pulse/util.h> > + > #include <pulsecore/g711.h> > #include <pulsecore/macro.h> > #include <pulsecore/endianmacros.h> > -- > 2.1.0 > > _______________________________________________ > pulseaudio-discuss mailing list > pulseaudio-discuss at lists.freedesktop.org > http://lists.freedesktop.org/mailman/listinfo/pulseaudio-discuss > -- Peter Meerwald +43-664-2444418 (mobile)