projects
/
paraslash.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Add UNIT_START errno
[paraslash.git]
/
dbadm.c
diff --git
a/dbadm.c
b/dbadm.c
index 6b5a3e989f3f30eb82b272d57682b2cbdbddc2ee..4772c969d1a6bf71d052121b4c4241426a557d12 100644
(file)
--- a/
dbadm.c
+++ b/
dbadm.c
@@
-56,19
+56,19
@@
static int client_cmd(const char *cmd)
static char **get_all_atts(int *num_atts)
{
int fd = client_cmd("laa");
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;
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));
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)
size_t n = strlen(buf);
buf[n - 1] = '\0';
if (choice_len < n - 1)
@@
-150,6
+150,8
@@
static int commit_changes(char *filename)
// ITEM **items;
int i;
char buf[MAXLINE] = "para_client sa ";
// 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]));
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);
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)
}
static char *get_current_filename(void)
@@
-330,11
+332,8
@@
repeat:
goto repeat;
/* Enter */
case 10:
goto repeat;
/* Enter */
case 10:
- endwin();
if (atts_modified)
commit_changes(filename);
if (atts_modified)
commit_changes(filename);
- else
- printf("Attributes unchanged\n");
goto out;
default:
goto repeat;
goto out;
default:
goto repeat;
@@
-342,7
+341,7
@@
repeat:
out:
if (my_items) {
free_item(my_items[0]);
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]);
}
for (i = 0; i < n_choices; i++)
free(choices[i]);