diff --git a/src/tools/sysdb/main.c b/src/tools/sysdb/main.c
index b3a73c698e1e2507f9741b60a6692cb11ed5dd6c..357ef34827672d0033030eeefe8d85d059f98836 100644 (file)
--- a/src/tools/sysdb/main.c
+++ b/src/tools/sysdb/main.c
main(int argc, char **argv)
{
const char *host = NULL;
- char *user = NULL;
const char *homedir;
char hist_file[1024] = "";
host = optarg;
break;
case 'U':
- user = optarg;
+ input.user = optarg;
break;
case 'c':
if (! host)
host = DEFAULT_SOCKET;
- if (! user)
- user = sdb_get_current_user();
+ if (! input.user)
+ input.user = sdb_get_current_user();
else
- user = strdup(user);
- if (! user)
+ input.user = strdup(input.user);
+ if (! input.user)
exit(1);
input.client = sdb_client_create(host);
if (! input.client) {
sdb_log(SDB_LOG_ERR, "Failed to create client object");
- free(user);
+ free(input.user);
exit(1);
}
- if (sdb_client_connect(input.client, user)) {
+ if (sdb_client_connect(input.client, input.user)) {
sdb_log(SDB_LOG_ERR, "Failed to connect to SysDBd");
sdb_client_destroy(input.client);
- free(user);
+ free(input.user);
exit(1);
}
int status = execute_commands(input.client, commands);
sdb_llist_destroy(commands);
sdb_client_destroy(input.client);
- free(user);
+ free(input.user);
if ((status != SDB_CONNECTION_OK) && (status != SDB_CONNECTION_DATA))
exit(1);
exit(0);
using_history();
- if ((homedir = get_homedir(user))) {
+ if ((homedir = get_homedir(input.user))) {
snprintf(hist_file, sizeof(hist_file) - 1,
"%s/.sysdb_history", homedir);
hist_file[sizeof(hist_file) - 1] = '\0';
hist_file, sdb_strerror(errno, errbuf, sizeof(errbuf)));
}
}
- free(user);
+ free(input.user);
input.input = sdb_strbuf_create(2048);
sdb_input_init(&input);