mirror of
https://gitlab.freedesktop.org/pulseaudio/pulseaudio.git
synced 2025-11-04 13:29:59 -05:00
add new pa_readlink() API
git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@1974 fefdeb5f-60dc-0310-8127-8f9354f1896f
This commit is contained in:
parent
1c0690776d
commit
ca98c544ab
2 changed files with 26 additions and 0 deletions
|
|
@ -1507,3 +1507,27 @@ void pa_close_pipe(int fds[2]) {
|
||||||
|
|
||||||
fds[0] = fds[1] = -1;
|
fds[0] = fds[1] = -1;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
char *pa_readlink(const char *p) {
|
||||||
|
size_t l = 100;
|
||||||
|
|
||||||
|
for (;;) {
|
||||||
|
char *c;
|
||||||
|
ssize_t n;
|
||||||
|
|
||||||
|
c = pa_xnew(char, l);
|
||||||
|
|
||||||
|
if ((n = readlink(p, c, l-1)) < 0) {
|
||||||
|
pa_xfree(c);
|
||||||
|
return NULL;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (n < l-1) {
|
||||||
|
c[l-1] = 0;
|
||||||
|
return c;
|
||||||
|
}
|
||||||
|
|
||||||
|
pa_xfree(c);
|
||||||
|
l *= 2;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
|
||||||
|
|
@ -122,4 +122,6 @@ static inline unsigned pa_make_power_of_two(unsigned n) {
|
||||||
|
|
||||||
void pa_close_pipe(int fds[2]);
|
void pa_close_pipe(int fds[2]);
|
||||||
|
|
||||||
|
char *pa_readlink(const char *p);
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue