X-Git-Url: http://git.tuebingen.mpg.de/?p=paraslash.git;a=blobdiff_plain;f=dbadm.c;h=4772c969d1a6bf71d052121b4c4241426a557d12;hp=5f807eb2625d3e54baf33849ae659a8e2fcf1092;hb=ab489052bae21ba25b1dd37bee1b538d03894d18;hpb=2ed89c59f0efcd0a2763f47c7d3455663241e623 diff --git a/dbadm.c b/dbadm.c index 5f807eb2..4772c969 100644 --- a/dbadm.c +++ b/dbadm.c @@ -16,7 +16,7 @@ * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111, USA. */ -/** \file dbadm.c simple attribute setting utility for the mysql dbtool */ +/** \file dbadm.c simple attribute setting utility for the mysql selector */ #include "para.h" #include @@ -37,7 +37,7 @@ WINDOW *att_win; static char **choices; /* no looging */ -void para_log(__unused int ll, __unused char *fmt,...) +void para_log(__a_unused int ll, __a_unused const char *fmt,...) { } @@ -56,19 +56,19 @@ static int client_cmd(const char *cmd) static char **get_all_atts(int *num_atts) { int fd = client_cmd("laa"); - FILE *pipe; + FILE *f; char **ret = NULL, *buf; if (fd < 0) return NULL; - pipe = fdopen(fd, "r"); - if (!pipe) { + f = fdopen(fd, "r"); + if (!f) { close(fd); return NULL; } *num_atts = 0; buf = para_malloc(MAXLINE * sizeof(char)); - while (fgets(buf, MAXLINE - 1, pipe) && *buf) { + while (fgets(buf, MAXLINE - 1, f) && *buf) { size_t n = strlen(buf); buf[n - 1] = '\0'; if (choice_len < n - 1) @@ -99,7 +99,7 @@ static char *get_atts(char *filename) return buf; } -static void _item_init(__unused MENU* menu) +static void _item_init(__a_unused MENU* menu) { // static int subsequent_run; int i, n; @@ -150,6 +150,8 @@ static int commit_changes(char *filename) // ITEM **items; int i; char buf[MAXLINE] = "para_client sa "; + int fds[3] = {0, 0, 0}; + pid_t pid; for (i = 0; i < n_choices; ++i) { strcat(buf, item_name(my_items[i])); @@ -162,7 +164,7 @@ static int commit_changes(char *filename) strcat(buf, filename); //printf("old atts: %s\n", atts); //printf("%s\n", buf); - return system(buf); + return para_exec_cmdline_pid(&pid, buf, fds); } static char *get_current_filename(void) @@ -330,11 +332,8 @@ repeat: goto repeat; /* Enter */ case 10: - endwin(); if (atts_modified) commit_changes(filename); - else - printf("Attributes unchanged\n"); goto out; default: goto repeat; @@ -342,7 +341,7 @@ repeat: out: if (my_items) { free_item(my_items[0]); - free_item(my_items[1]); + free_item(my_items[1]); } for (i = 0; i < n_choices; i++) free(choices[i]);