#include "globals.h" /** * Set text value in given parameter */ 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 = g_strdup(NULL);; } g_free(*param); if(tmp != NULL) *param = g_shell_quote(tmp); else *param = g_strdup(tmp); g_free(tmp); } /** * Set boolean value in given parameter */ void set_parameter_bool (GtkWidget *checkbox, gboolean *param) { *param = gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON (checkbox)); } /** * Return ncpmount command with options and mountpoint * if length != NULL return length of ret string */ gchar *get_ncpmount_command (gboolean whith_password, gint *length) { 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(whith_password) { 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); if(length != NULL) *length = command->len; ret = command->str; g_string_free(command, FALSE); return ret; } /** * Clear all parameter in cmd_params */ void clear_cmdparams () { if(cmd_params.username != NULL) { g_free(cmd_params.username); cmd_params.username = NULL; } if(cmd_params.password != NULL) { g_free(cmd_params.password); cmd_params.password = NULL; } if(cmd_params.server != NULL) { g_free(cmd_params.server); cmd_params.server = NULL; } if(cmd_params.dns_name != NULL) { g_free(cmd_params.dns_name); cmd_params.dns_name = NULL; } if(cmd_params.volume != NULL) { g_free(cmd_params.volume); cmd_params.volume = NULL; } if(cmd_params.uid != NULL) { g_free(cmd_params.uid); cmd_params.uid = NULL; } if(cmd_params.gid != NULL) { g_free(cmd_params.gid); cmd_params.gid = NULL; } if(cmd_params.fmode != NULL) { g_free(cmd_params.fmode); cmd_params.fmode = NULL; } if(cmd_params.dmode != NULL) { g_free(cmd_params.dmode); cmd_params.dmode = NULL; } if(cmd_params.time_out != NULL) { g_free(cmd_params.time_out); cmd_params.time_out = NULL; } if(cmd_params.retry_count != NULL) { g_free(cmd_params.retry_count); cmd_params.retry_count = NULL; } if(cmd_params.level != NULL) { g_free(cmd_params.level); cmd_params.level = NULL; } if(cmd_params.charset != NULL) { g_free(cmd_params.charset); cmd_params.charset = NULL; } if(cmd_params.codepage != NULL) { g_free(cmd_params.codepage); cmd_params.codepage = NULL; } if(cmd_params.mount_point != NULL) { g_free(cmd_params.mount_point); cmd_params.mount_point = NULL; } cmd_params.C = FALSE; cmd_params.n = FALSE; cmd_params.s = FALSE; cmd_params.b = FALSE; cmd_params.m = FALSE; }