X-Git-Url: http://git.tuebingen.mpg.de/?p=paraslash.git;a=blobdiff_plain;f=audioc.c;h=3997001d13f3a66ac0b9c70d31771417b5acddfd;hp=64152ce09323bc9b458f38ff09272f94e949db38;hb=6e4dcc88f4c52c7084539ed4d81ca06fd3e657aa;hpb=d73a140ae7f77a18f858a66d1a354d106088c6ca diff --git a/audioc.c b/audioc.c index 64152ce0..3997001d 100644 --- a/audioc.c +++ b/audioc.c @@ -128,9 +128,7 @@ static void audioc_post_select(struct sched *s, struct task *t) out: if (ret < 0) { free(buf); - btr_remove_node(at->btrn); - btr_free_node(at->btrn); - at->btrn = NULL; + btr_remove_node(&at->btrn); close(at->fd); } t->error = ret; @@ -253,16 +251,15 @@ __noreturn static void print_completions(void) static char *configfile_exists(void) { - static char *config_file; + char *config_file; struct stat statbuf; + char *home = para_homedir(); - if (!config_file) { - char *home = para_homedir(); - config_file = make_message("%s/.paraslash/audioc.conf", home); - free(home); - } + config_file = make_message("%s/.paraslash/audioc.conf", home); + free(home); if (!stat(config_file, &statbuf)) return config_file; + free(config_file); return NULL; } @@ -272,10 +269,11 @@ static char *configfile_exists(void) * \param argc Usual argument count. * \param argv Usual argument vector. * - * It creates a temporary local socket in order to communicate with para_audiod. - * Authentication consists in sending a ucred buffer that contains the user id. + * It connects to the "well-known" local socket to communicate with + * para_audiod. Authentication is performed by sending a ucred buffer + * containing the user id to the local socket. * - * Any output received through the local socket is sent to stdout. + * Any data received from the socket is written to stdout. * * \return EXIT_SUCCESS or EXIT_FAILURE. * @@ -341,7 +339,7 @@ int main(int argc, char *argv[]) size_t n = ret = recv_bin_buffer(fd, buf, bufsize); if (ret <= 0) break; - ret = write_all(STDOUT_FILENO, buf, &n); + ret = write_all(STDOUT_FILENO, buf, n); } while (ret >= 0); out: free(buf);