X-Git-Url: http://git.tuebingen.mpg.de/?a=blobdiff_plain;ds=sidebyside;f=dbadm.c;h=4772c969d1a6bf71d052121b4c4241426a557d12;hb=4cfbdce5e460934d4724cac63aa718ea6c7af199;hp=5f807eb2625d3e54baf33849ae659a8e2fcf1092;hpb=2ed89c59f0efcd0a2763f47c7d3455663241e623;p=paraslash.git
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]);