]> code.delx.au - pulseaudio/blob - src/tests/get-binary-name-test.c
c35160fb4bfd4bbfa685ba462b70c0136fac9aa3
[pulseaudio] / src / tests / get-binary-name-test.c
1 /***
2 This file is part of PulseAudio.
3
4 PulseAudio is free software; you can redistribute it and/or modify
5 it under the terms of the GNU Lesser General Public License as published
6 by the Free Software Foundation; either version 2.1 of the License,
7 or (at your option) any later version.
8
9 PulseAudio is distributed in the hope that it will be useful, but
10 WITHOUT ANY WARRANTY; without even the implied warranty of
11 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
12 General Public License for more details.
13
14 You should have received a copy of the GNU Lesser General Public License
15 along with PulseAudio; if not, write to the Free Software
16 Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307
17 USA.
18 ***/
19
20 #ifdef HAVE_CONFIG_H
21 #include <config.h>
22 #endif
23
24 #include <stdio.h>
25 #include <string.h>
26
27 #include <pulse/util.h>
28 #include <pulse/xmalloc.h>
29
30 int main(int argc, char *argv[]) {
31 char *exename;
32 size_t allocated = 128;
33
34 for (;;) {
35 exename = pa_xmalloc(allocated);
36
37 if (!pa_get_binary_name(exename, allocated)) {
38 printf("failed to read binary name\n");
39 pa_xfree(exename);
40 break;
41 }
42
43 if (strlen(exename) < allocated - 1) {
44 printf("%s\n", exename);
45 pa_xfree(exename);
46 return 0;
47 }
48
49 pa_xfree(exename);
50 allocated *= 2;
51 }
52
53 return 1;
54 }