[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