summaryrefslogtreecommitdiffstats
path: root/globals.c
blob: d8044c270514c1facfa2149704129806bec7377b (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
#include <gtk/gtk.h>

#include "globals.h"


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);

    g_free(tmp);
}

/**
*   Boolean value in given parameter
*/
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;
}