export FQDN instead of hostname

git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@277 fefdeb5f-60dc-0310-8127-8f9354f1896f
This commit is contained in:
Lennart Poettering 2004-11-09 00:14:07 +00:00
parent 89e39f13b5
commit 3916a66a87
3 changed files with 32 additions and 2 deletions

View file

@ -87,7 +87,12 @@ int main(int argc, char *argv[]) {
dname = optarg; dname = optarg;
break; break;
case 'h': case 'h':
printf("%s [-D display] [-S server] [-O sink] [-I source] [-c file] [-d|-e|-i|-r]\n", pa_path_get_filename(argv[0])); printf("%s [-D display] [-S server] [-O sink] [-I source] [-c file] [-d|-e|-i|-r]\n\n"
" -d Show current Polypaudio data attached to X11 display (default)\n"
" -e Export local Polypaudio data to X11 display\n"
" -i Import Polypaudio data from X11 display to local environment variables and cookie file.\n"
" -r Remove Polypaudio data from X11 display\n",
pa_path_get_filename(argv[0]));
ret = 0; ret = 0;
goto finish; goto finish;
case 'd': case 'd':
@ -195,7 +200,11 @@ int main(int argc, char *argv[]) {
set_x11_prop(d, "POLYP_SERVER", c->default_server); set_x11_prop(d, "POLYP_SERVER", c->default_server);
else { else {
char hn[256]; char hn[256];
pa_get_host_name(hn, sizeof(hn)); if (!pa_get_fqdn(hn, sizeof(hn))) {
fprintf(stderr, "Failed to get FQDN.\n");
goto finish;
}
set_x11_prop(d, "POLYP_SERVER", hn); set_x11_prop(d, "POLYP_SERVER", hn);
} }

View file

@ -43,6 +43,7 @@
#include <limits.h> #include <limits.h>
#include <unistd.h> #include <unistd.h>
#include <grp.h> #include <grp.h>
#include <netdb.h>
#include <samplerate.h> #include <samplerate.h>
@ -773,3 +774,22 @@ size_t pa_parsehex(const char *p, uint8_t *d, size_t dlength) {
return j; return j;
} }
char *pa_get_fqdn(char *s, size_t l) {
char hn[256];
struct addrinfo *a, hints;
if (!pa_get_host_name(hn, sizeof(hn)))
return NULL;
memset(&hints, 0, sizeof(hints));
hints.ai_family = AF_UNSPEC;
hints.ai_flags = AI_CANONNAME;
if (getaddrinfo(hn, NULL, &hints, &a) < 0 || !a || !a->ai_canonname || !*a->ai_canonname)
return pa_strlcpy(s, hn, l);
pa_strlcpy(s, a->ai_canonname, l);
freeaddrinfo(a);
return s;
}

View file

@ -46,6 +46,7 @@ char *pa_strlcpy(char *b, const char *s, size_t l);
char *pa_get_user_name(char *s, size_t l); char *pa_get_user_name(char *s, size_t l);
char *pa_get_host_name(char *s, size_t l); char *pa_get_host_name(char *s, size_t l);
char *pa_get_fqdn(char *s, size_t l);
char *pa_get_binary_name(char *s, size_t l); char *pa_get_binary_name(char *s, size_t l);
char *pa_get_home_dir(char *s, size_t l); char *pa_get_home_dir(char *s, size_t l);