diff options
author | Daniel Mack <daniel@caiaq.de> | 2009-09-14 16:25:35 +0800 |
---|---|---|
committer | Daniel Mack <daniel@caiaq.de> | 2009-09-14 16:25:35 +0800 |
commit | bebaa491650c48697b861ec5e76816e9af1a8803 (patch) | |
tree | b57d38476473f8fc6e282f8c39f730c936fa10d4 /src/tests/get-binary-name-test.c | |
parent | c6d330ef91ce401660f907536b1bfd0591c14c2a (diff) | |
parent | 180ef1eebdfbdf0220af1fb5e4bf43e348207cde (diff) |
Merge branch 'master' of git://0pointer.de/pulseaudio
Diffstat (limited to 'src/tests/get-binary-name-test.c')
-rw-r--r-- | src/tests/get-binary-name-test.c | 25 |
1 files changed, 23 insertions, 2 deletions
diff --git a/src/tests/get-binary-name-test.c b/src/tests/get-binary-name-test.c index a34e38fd..e49f2eff 100644 --- a/src/tests/get-binary-name-test.c +++ b/src/tests/get-binary-name-test.c @@ -23,12 +23,33 @@ #include <limits.h> #include <stdio.h> +#include <string.h> #include <pulse/util.h> +#include <pulse/xmalloc.h> int main(int argc, char *argv[]) { - char exename[PATH_MAX]; + char *exename; + size_t allocated = 128; + + for (;;) { + exename = pa_xmalloc(allocated); + + if (!pa_get_binary_name(exename, allocated)) { + printf("failed to read binary name\n"); + pa_xfree(exename); + break; + } + + if (strlen(exename) < allocated - 1) { + printf("%s\n", exename); + pa_xfree(exename); + break; + } + + pa_xfree(exename); + allocated *= 2; + } - printf("%s\n", pa_get_binary_name(exename, sizeof(exename))); return 0; } |