[PATCH libevdev] Rename symbols leaking from static library to avoid name clashes
Peter Hutterer
peter.hutterer at who-t.net
Mon Aug 18 03:05:26 PDT 2014
On 18/08/2014 18:25 , David Herrmann wrote:
> Hi
>
> On Mon, Aug 18, 2014 at 6:08 AM, Peter Hutterer
> <peter.hutterer at who-t.net> wrote:
>> The static library currently leaks log_msg and log_priority. Both are too
>> generic, so rename them with a leading underscore to hint they're supposed to
>> be private.
>>
>> Signed-off-by: Peter Hutterer <peter.hutterer at who-t.net>
>> ---
>> Anyone got good ideas on how to hide symbols from a static lib I'm all ears.
>> All the stuff I found via google seemed somewhat hacky but I can't believe
>> no-one else has had that problem so far.
>
> Patch looks good, but why do you care for static linking?
I'd like libevdev to be useful, even in use-cases we don't primarily aim
for.
Cheers,
Peter
>> libevdev/libevdev-int.h | 14 +++++++-------
>> libevdev/libevdev.c | 10 +++++-----
>> 2 files changed, 12 insertions(+), 12 deletions(-)
>>
>> diff --git a/libevdev/libevdev-int.h b/libevdev/libevdev-int.h
>> index c184434..5e5ab26 100644
>> --- a/libevdev/libevdev-int.h
>> +++ b/libevdev/libevdev-int.h
>> @@ -126,8 +126,8 @@ struct libevdev {
>>
>> #define log_msg_cond(dev, priority, ...) \
>> do { \
>> - if (log_priority(dev) >= priority) \
>> - log_msg(dev, priority, __FILE__, __LINE__, __func__, __VA_ARGS__); \
>> + if (_libevdev_log_priority(dev) >= priority) \
>> + _libevdev_log_msg(dev, priority, __FILE__, __LINE__, __func__, __VA_ARGS__); \
>> } while(0)
>>
>> #define log_error(dev, ...) log_msg_cond(dev, LIBEVDEV_LOG_ERROR, __VA_ARGS__)
>> @@ -136,12 +136,12 @@ struct libevdev {
>> #define log_bug(dev, ...) log_msg_cond(dev, LIBEVDEV_LOG_ERROR, "BUG: "__VA_ARGS__)
>>
>> extern void
>> -log_msg(const struct libevdev *dev,
>> - enum libevdev_log_priority priority,
>> - const char *file, int line, const char *func,
>> - const char *format, ...) LIBEVDEV_ATTRIBUTE_PRINTF(6, 7);
>> +_libevdev_log_msg(const struct libevdev *dev,
>> + enum libevdev_log_priority priority,
>> + const char *file, int line, const char *func,
>> + const char *format, ...) LIBEVDEV_ATTRIBUTE_PRINTF(6, 7);
>> extern enum libevdev_log_priority
>> -log_priority(const struct libevdev *dev);
>> +_libevdev_log_priority(const struct libevdev *dev);
>>
>> /**
>> * @return a pointer to the next element in the queue, or NULL if the queue
>> diff --git a/libevdev/libevdev.c b/libevdev/libevdev.c
>> index 903a286..6831e68 100644
>> --- a/libevdev/libevdev.c
>> +++ b/libevdev/libevdev.c
>> @@ -136,10 +136,10 @@ static struct logdata log_data = {
>> };
>>
>> void
>> -log_msg(const struct libevdev *dev,
>> - enum libevdev_log_priority priority,
>> - const char *file, int line, const char *func,
>> - const char *format, ...)
>> +_libevdev_log_msg(const struct libevdev *dev,
>> + enum libevdev_log_priority priority,
>> + const char *file, int line, const char *func,
>> + const char *format, ...)
>> {
>> va_list args;
>>
>> @@ -275,7 +275,7 @@ libevdev_set_device_log_function(struct libevdev *dev,
>> }
>>
>> enum libevdev_log_priority
>> -log_priority(const struct libevdev *dev)
>> +_libevdev_log_priority(const struct libevdev *dev)
>> {
>> if (dev && dev->log.device_handler)
>> return dev->log.priority;
>> --
>> 1.9.3
>>
>> _______________________________________________
>> Input-tools mailing list
>> Input-tools at lists.freedesktop.org
>> http://lists.freedesktop.org/mailman/listinfo/input-tools
More information about the Input-tools
mailing list