]> code.delx.au - pulseaudio/blobdiff - src/tests/get-binary-name-test.c
Merge branch 'passthrough'
[pulseaudio] / src / tests / get-binary-name-test.c
index 29ebbe223f428ba30a8faa9e64b15ab5e34bc65a..e49f2eff45de2bbafa6533e5a98ce550042e5d96 100644 (file)
@@ -1,11 +1,9 @@
-/* $Id$ */
-
 /***
   This file is part of PulseAudio.
 
   PulseAudio is free software; you can redistribute it and/or modify
   it under the terms of the GNU Lesser General Public License as published
-  by the Free Software Foundation; either version 2 of the License,
+  by the Free Software Foundation; either version 2.1 of the License,
   or (at your option) any later version.
 
   PulseAudio is distributed in the hope that it will be useful, but
 
 #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;
 }