From 8b3aa75c5407d4917c6c54484f07c5472894def5 Mon Sep 17 00:00:00 2001 From: Jan Lipovský Date: Thu, 30 Dec 2010 10:59:31 +0100 Subject: ncpmount wrapper --- globals.c | 137 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++- 1 file changed, 136 insertions(+), 1 deletion(-) (limited to 'globals.c') diff --git a/globals.c b/globals.c index cbe5897..d8044c2 100644 --- a/globals.c +++ b/globals.c @@ -6,10 +6,14 @@ void set_parameter_text (GtkWidget *entry, gchar **param) { gchar *tmp; - tmp = g_strdup(gtk_entry_get_text (GTK_ENTRY(entry))); g_strstrip(tmp); + if(!g_strcmp0(tmp,"")) + { + g_free(tmp); + tmp = NULL; + } g_free(*param); *param = g_strdup(tmp); @@ -25,3 +29,134 @@ void set_parameter_bool (GtkWidget *checkbox, gboolean *param) *param = gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON (checkbox)); } + + + +gchar *get_ncpmount_command () +{ + GString *command; + gchar *ret; + + command = g_string_new("ncpmount"); + + if(cmd_params.username != NULL) + { + command = g_string_append (command, " -U "); + command = g_string_append (command, cmd_params.username); + } + + if(cmd_params.password != NULL && !cmd_params.n) + { + command = g_string_append (command, " -P "); + command = g_string_append (command, cmd_params.password); + } + + if(cmd_params.server != NULL) + { + command = g_string_append (command, " -S "); + command = g_string_append (command, cmd_params.server); + } + + if(cmd_params.dns_name != NULL) + { + command = g_string_append (command, " -A "); + command = g_string_append (command, cmd_params.dns_name); + } + + if(cmd_params.volume != NULL) + { + command = g_string_append (command, " -V "); + command = g_string_append (command, cmd_params.volume); + } + + if(cmd_params.uid != NULL) + { + command = g_string_append (command, " -u "); + command = g_string_append (command, cmd_params.uid); + } + + if(cmd_params.gid != NULL) + { + command = g_string_append (command, " -g "); + command = g_string_append (command, cmd_params.gid); + } + + if(cmd_params.fmode != NULL) + { + command = g_string_append (command, " -f "); + command = g_string_append (command, cmd_params.fmode); + } + + if(cmd_params.dmode != NULL) + { + command = g_string_append (command, " -d "); + command = g_string_append (command, cmd_params.dmode); + } + + if(cmd_params.time_out != NULL) + { + command = g_string_append (command, " -t "); + command = g_string_append (command, cmd_params.time_out); + } + + if(cmd_params.retry_count != NULL) + { + command = g_string_append (command, " -r "); + command = g_string_append (command, cmd_params.retry_count); + } + + if(cmd_params.level != NULL) + { + command = g_string_append (command, " -i "); + command = g_string_append (command, cmd_params.level); + } + + if(cmd_params.charset != NULL) + { + command = g_string_append (command, " -y "); + command = g_string_append (command, cmd_params.charset); + } + + if(cmd_params.codepage != NULL) + { + command = g_string_append (command, " -p "); + command = g_string_append (command, cmd_params.codepage); + } + + if(cmd_params.C) + { + command = g_string_append (command, " -C "); + } + + if(cmd_params.n) + { + command = g_string_append (command, " -n "); + } + + if(cmd_params.s) + { + command = g_string_append (command, " -s "); + } + + if(cmd_params.b) + { + command = g_string_append (command, " -b "); + } + + if(cmd_params.m) + { + command = g_string_append (command, " -m "); + } + + + command = g_string_append (command, " "); + + /* Mount point on the end */ + if(cmd_params.mount_point != NULL) + command = g_string_append (command, cmd_params.mount_point); + + ret = command->str; + g_string_free(command, FALSE); + + return ret; +} -- cgit