Skip to content

Commit

Permalink
conf: fix the export of safe_strto* functions from libasound
Browse files Browse the repository at this point in the history
Only one library should define the safe_strto function. Export it
correctly and add _snd_ prefix to avoid possible clashes with the other
application code.

Fixes: 4725205 ("src/topology/parser.c: drop duplicate safe_strtol_base")
Fixes: #208
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
  • Loading branch information
perexg committed Jan 1, 2022
1 parent 4725205 commit c687c48
Show file tree
Hide file tree
Showing 3 changed files with 15 additions and 5 deletions.
8 changes: 6 additions & 2 deletions include/local.h
Expand Up @@ -232,10 +232,14 @@ size_t page_align(size_t size);
size_t page_size(void);
size_t page_ptr(size_t object_offset, size_t object_size, size_t *offset, size_t *mmap_offset);

int safe_strtoll_base(const char *str, long long *val, int base);
#define safe_strtoll_base _snd_safe_strtoll_base
int _snd_safe_strtoll_base(const char *str, long long *val, int base);
static inline int safe_strtoll(const char *str, long long *val) { return safe_strtoll_base(str, val, 0); }
int safe_strtol_base(const char *str, long *val, int base);
#define safe_strtol_base _snd_safe_strtol_base
int _snd_safe_strtol_base(const char *str, long *val, int base);
static inline int safe_strtol(const char *str, long *val) { return safe_strtol_base(str, val, 0); }
#define safe_strtod _snd_safe_strtod
int _snd_safe_strtod(const char *str, double *val);

int snd_send_fd(int sock, void *data, size_t len, int fd);
int snd_receive_fd(int sock, void *data, size_t len, int *fd);
Expand Down
6 changes: 6 additions & 0 deletions src/Versions.in
Expand Up @@ -134,3 +134,9 @@ ALSA_1.1.6 {

@SYMBOL_PREFIX@snd_dlopen;
} ALSA_0.9.7;

ALSA_1.2.6 {
global:

@SYMBOL_PREFIX@_snd_safe_strto*;
} ALSA_1.1.6;
6 changes: 3 additions & 3 deletions src/conf.c
Expand Up @@ -663,7 +663,7 @@ static int input_stdio_open(snd_input_t **inputp, const char *file,
return err;
}

int safe_strtoll_base(const char *str, long long *val, int base)
int _snd_safe_strtoll_base(const char *str, long long *val, int base)
{
char *end;
long v;
Expand All @@ -679,7 +679,7 @@ int safe_strtoll_base(const char *str, long long *val, int base)
return 0;
}

int safe_strtol_base(const char *str, long *val, int base)
int _snd_safe_strtol_base(const char *str, long *val, int base)
{
char *end;
long v;
Expand All @@ -695,7 +695,7 @@ int safe_strtol_base(const char *str, long *val, int base)
return 0;
}

static int safe_strtod(const char *str, double *val)
int _snd_safe_strtod(const char *str, double *val)
{
char *end;
double v;
Expand Down

0 comments on commit c687c48

Please sign in to comment.