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;
|
||||
}
|
||||
|
||||
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;
|
||||
}
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue