annotate src/text/gftp-text.c @ 356:7cb3327f96f7

2003-1-5 Brian Masney <masneyb@gftp.org> * lib/gftp.h lib/misc.c src/gtk/gftpui.c - added GFTP_URL_USAGE that is the sytax for a valid URL. * lib/protocols.c (gftp_set_password) - allow the password to be NULL * src/gtk/gtkui.c src/text/textui.c src/uicommon/gftpui.h - added gftpui_prompt_username() and gftpui_promot_password() to each UI * src/text/gftp-text.c (gftp_text_ask_question) - don't display a : at the end of the question here. * src/text/gftp-text.h - added declaration of gftp_text_ask_question() * src/uicommon/gftpui.c - added gftpui_common_cmd_open(). This still needs a little bit more work done to it.
author masneyb
date Tue, 06 Jan 2004 02:42:30 +0000
parents 2ea37b3c0158
children d207b8241e96
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
1
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
1 /*****************************************************************************/
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
2 /* gftp-text.c - text port of gftp */
122
76e2b58a9440 2003-4-5 Brian Masney <masneyb@gftp.org>
masneyb
parents: 67
diff changeset
3 /* Copyright (C) 1998-2003 Brian Masney <masneyb@gftp.org> */
1
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
4 /* */
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
5 /* This program is free software; you can redistribute it and/or modify */
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
6 /* it under the terms of the GNU General Public License as published by */
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
7 /* the Free Software Foundation; either version 2 of the License, or */
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
8 /* (at your option) any later version. */
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
9 /* */
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
10 /* This program is distributed in the hope that it will be useful, */
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
11 /* but WITHOUT ANY WARRANTY; without even the implied warranty of */
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
12 /* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the */
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
13 /* GNU General Public License for more details. */
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
14 /* */
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
15 /* You should have received a copy of the GNU General Public License */
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
16 /* along with this program; if not, write to the Free Software */
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
17 /* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111 USA */
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
18 /*****************************************************************************/
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
19
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
20 #include "gftp-text.h"
33
c8ec7877432e 2002-10-06 Brian Masney <masneyb@gftp.org>
masneyb
parents: 16
diff changeset
21 static const char cvsid[] = "$Id$";
1
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
22
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
23 static gftp_request * gftp_text_locreq = NULL;
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
24 static gftp_request * gftp_text_remreq = NULL;
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
25
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
26 int
341
eedc2c5727fa 2003-12-28 Brian Masney <masneyb@gftp.org>
masneyb
parents: 327
diff changeset
27 gftp_text_get_win_size (void)
1
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
28 {
341
eedc2c5727fa 2003-12-28 Brian Masney <masneyb@gftp.org>
masneyb
parents: 327
diff changeset
29 struct winsize size;
eedc2c5727fa 2003-12-28 Brian Masney <masneyb@gftp.org>
masneyb
parents: 327
diff changeset
30 int ret;
1
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
31
341
eedc2c5727fa 2003-12-28 Brian Masney <masneyb@gftp.org>
masneyb
parents: 327
diff changeset
32 if (ioctl (0, TIOCGWINSZ, (char *) &size) < 0)
eedc2c5727fa 2003-12-28 Brian Masney <masneyb@gftp.org>
masneyb
parents: 327
diff changeset
33 ret = 80;
eedc2c5727fa 2003-12-28 Brian Masney <masneyb@gftp.org>
masneyb
parents: 327
diff changeset
34 else
eedc2c5727fa 2003-12-28 Brian Masney <masneyb@gftp.org>
masneyb
parents: 327
diff changeset
35 ret = size.ws_col;
1
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
36
341
eedc2c5727fa 2003-12-28 Brian Masney <masneyb@gftp.org>
masneyb
parents: 327
diff changeset
37 return (ret);
eedc2c5727fa 2003-12-28 Brian Masney <masneyb@gftp.org>
masneyb
parents: 327
diff changeset
38 }
1
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
39
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
40
341
eedc2c5727fa 2003-12-28 Brian Masney <masneyb@gftp.org>
masneyb
parents: 327
diff changeset
41 void
eedc2c5727fa 2003-12-28 Brian Masney <masneyb@gftp.org>
masneyb
parents: 327
diff changeset
42 sig_child (int signo)
eedc2c5727fa 2003-12-28 Brian Masney <masneyb@gftp.org>
masneyb
parents: 327
diff changeset
43 {
1
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
44 }
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
45
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
46
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
47 void
186
13ca1defdc75 2003-6-16 Brian Masney <masneyb@gftp.org>
masneyb
parents: 182
diff changeset
48 gftp_text_log (gftp_logging_level level, gftp_request * request,
13ca1defdc75 2003-6-16 Brian Masney <masneyb@gftp.org>
masneyb
parents: 182
diff changeset
49 const char *string, ...)
1
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
50 {
186
13ca1defdc75 2003-6-16 Brian Masney <masneyb@gftp.org>
masneyb
parents: 182
diff changeset
51 char tempstr[512], *stpos, *endpos, *utf8_str = NULL, *outstr;
1
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
52 va_list argp;
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
53 int sw;
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
54
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
55 g_return_if_fail (string != NULL);
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
56
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
57 switch (level)
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
58 {
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
59 case gftp_logging_send:
341
eedc2c5727fa 2003-12-28 Brian Masney <masneyb@gftp.org>
masneyb
parents: 327
diff changeset
60 printf ("%s", GFTPUI_COMMON_COLOR_GREEN);
1
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
61 break;
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
62 case gftp_logging_recv:
341
eedc2c5727fa 2003-12-28 Brian Masney <masneyb@gftp.org>
masneyb
parents: 327
diff changeset
63 printf ("%s", GFTPUI_COMMON_COLOR_YELLOW);
1
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
64 break;
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
65 case gftp_logging_error:
341
eedc2c5727fa 2003-12-28 Brian Masney <masneyb@gftp.org>
masneyb
parents: 327
diff changeset
66 printf ("%s", GFTPUI_COMMON_COLOR_RED);
1
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
67 break;
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
68 default:
341
eedc2c5727fa 2003-12-28 Brian Masney <masneyb@gftp.org>
masneyb
parents: 327
diff changeset
69 printf ("%s", GFTPUI_COMMON_COLOR_DEFAULT);
1
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
70 break;
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
71 }
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
72
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
73 va_start (argp, string);
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
74 g_vsnprintf (tempstr, sizeof (tempstr), string, argp);
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
75 va_end (argp);
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
76
186
13ca1defdc75 2003-6-16 Brian Masney <masneyb@gftp.org>
masneyb
parents: 182
diff changeset
77 #if GLIB_MAJOR_VERSION > 1
13ca1defdc75 2003-6-16 Brian Masney <masneyb@gftp.org>
masneyb
parents: 182
diff changeset
78 if (!g_utf8_validate (tempstr, -1, NULL))
13ca1defdc75 2003-6-16 Brian Masney <masneyb@gftp.org>
masneyb
parents: 182
diff changeset
79 utf8_str = gftp_string_to_utf8 (request, tempstr);
13ca1defdc75 2003-6-16 Brian Masney <masneyb@gftp.org>
masneyb
parents: 182
diff changeset
80 #endif
13ca1defdc75 2003-6-16 Brian Masney <masneyb@gftp.org>
masneyb
parents: 182
diff changeset
81
13ca1defdc75 2003-6-16 Brian Masney <masneyb@gftp.org>
masneyb
parents: 182
diff changeset
82 if (utf8_str != NULL)
13ca1defdc75 2003-6-16 Brian Masney <masneyb@gftp.org>
masneyb
parents: 182
diff changeset
83 outstr = utf8_str;
13ca1defdc75 2003-6-16 Brian Masney <masneyb@gftp.org>
masneyb
parents: 182
diff changeset
84 else
13ca1defdc75 2003-6-16 Brian Masney <masneyb@gftp.org>
masneyb
parents: 182
diff changeset
85 outstr = tempstr;
13ca1defdc75 2003-6-16 Brian Masney <masneyb@gftp.org>
masneyb
parents: 182
diff changeset
86
354
2ea37b3c0158 2003-1-5 Brian Masney <masneyb@gftp.org>
masneyb
parents: 341
diff changeset
87 if (gftp_logfd != NULL && level != gftp_logging_misc_nolog)
1
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
88 {
186
13ca1defdc75 2003-6-16 Brian Masney <masneyb@gftp.org>
masneyb
parents: 182
diff changeset
89 fwrite (outstr, 1, strlen (outstr), gftp_logfd);
122
76e2b58a9440 2003-4-5 Brian Masney <masneyb@gftp.org>
masneyb
parents: 67
diff changeset
90 if (ferror (gftp_logfd))
1
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
91 {
122
76e2b58a9440 2003-4-5 Brian Masney <masneyb@gftp.org>
masneyb
parents: 67
diff changeset
92 fclose (gftp_logfd);
76e2b58a9440 2003-4-5 Brian Masney <masneyb@gftp.org>
masneyb
parents: 67
diff changeset
93 gftp_logfd = NULL;
1
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
94 }
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
95 else
122
76e2b58a9440 2003-4-5 Brian Masney <masneyb@gftp.org>
masneyb
parents: 67
diff changeset
96 fflush (gftp_logfd);
1
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
97 }
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
98
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
99 sw = gftp_text_get_win_size ();
186
13ca1defdc75 2003-6-16 Brian Masney <masneyb@gftp.org>
masneyb
parents: 182
diff changeset
100 stpos = outstr;
13ca1defdc75 2003-6-16 Brian Masney <masneyb@gftp.org>
masneyb
parents: 182
diff changeset
101 endpos = outstr + 1;
1
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
102 do
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
103 {
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
104 if (strlen (stpos) <= sw)
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
105 {
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
106 printf ("%s", stpos);
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
107 break;
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
108 }
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
109 for (endpos = stpos + sw - 1; *endpos != ' ' && endpos > stpos; endpos--);
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
110 if (endpos != stpos)
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
111 {
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
112 *endpos = '\0';
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
113 }
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
114 printf ("%s\n", stpos);
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
115 stpos = endpos + 1;
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
116 }
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
117 while (stpos != endpos);
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
118
341
eedc2c5727fa 2003-12-28 Brian Masney <masneyb@gftp.org>
masneyb
parents: 327
diff changeset
119 printf ("%s", GFTPUI_COMMON_COLOR_DEFAULT);
186
13ca1defdc75 2003-6-16 Brian Masney <masneyb@gftp.org>
masneyb
parents: 182
diff changeset
120
13ca1defdc75 2003-6-16 Brian Masney <masneyb@gftp.org>
masneyb
parents: 182
diff changeset
121 if (utf8_str != NULL)
13ca1defdc75 2003-6-16 Brian Masney <masneyb@gftp.org>
masneyb
parents: 182
diff changeset
122 g_free (utf8_str);
1
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
123 }
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
124
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
125
341
eedc2c5727fa 2003-12-28 Brian Masney <masneyb@gftp.org>
masneyb
parents: 327
diff changeset
126 char *
eedc2c5727fa 2003-12-28 Brian Masney <masneyb@gftp.org>
masneyb
parents: 327
diff changeset
127 gftp_text_ask_question (const char *question, int echo, char *buf, size_t size)
eedc2c5727fa 2003-12-28 Brian Masney <masneyb@gftp.org>
masneyb
parents: 327
diff changeset
128 {
eedc2c5727fa 2003-12-28 Brian Masney <masneyb@gftp.org>
masneyb
parents: 327
diff changeset
129 struct termios term, oldterm;
eedc2c5727fa 2003-12-28 Brian Masney <masneyb@gftp.org>
masneyb
parents: 327
diff changeset
130 sigset_t sig, sigsave;
eedc2c5727fa 2003-12-28 Brian Masney <masneyb@gftp.org>
masneyb
parents: 327
diff changeset
131 char *pos, *termname;
eedc2c5727fa 2003-12-28 Brian Masney <masneyb@gftp.org>
masneyb
parents: 327
diff changeset
132 FILE *infd;
eedc2c5727fa 2003-12-28 Brian Masney <masneyb@gftp.org>
masneyb
parents: 327
diff changeset
133
eedc2c5727fa 2003-12-28 Brian Masney <masneyb@gftp.org>
masneyb
parents: 327
diff changeset
134 if (!echo)
eedc2c5727fa 2003-12-28 Brian Masney <masneyb@gftp.org>
masneyb
parents: 327
diff changeset
135 {
eedc2c5727fa 2003-12-28 Brian Masney <masneyb@gftp.org>
masneyb
parents: 327
diff changeset
136 sigemptyset (&sig);
eedc2c5727fa 2003-12-28 Brian Masney <masneyb@gftp.org>
masneyb
parents: 327
diff changeset
137 sigaddset (&sig, SIGINT);
eedc2c5727fa 2003-12-28 Brian Masney <masneyb@gftp.org>
masneyb
parents: 327
diff changeset
138 sigaddset (&sig, SIGTSTP);
eedc2c5727fa 2003-12-28 Brian Masney <masneyb@gftp.org>
masneyb
parents: 327
diff changeset
139 sigprocmask (SIG_BLOCK, &sig, &sigsave);
eedc2c5727fa 2003-12-28 Brian Masney <masneyb@gftp.org>
masneyb
parents: 327
diff changeset
140
eedc2c5727fa 2003-12-28 Brian Masney <masneyb@gftp.org>
masneyb
parents: 327
diff changeset
141 termname = ctermid (NULL);
eedc2c5727fa 2003-12-28 Brian Masney <masneyb@gftp.org>
masneyb
parents: 327
diff changeset
142 if ((infd = fopen (termname, "r+")) == NULL)
eedc2c5727fa 2003-12-28 Brian Masney <masneyb@gftp.org>
masneyb
parents: 327
diff changeset
143 {
eedc2c5727fa 2003-12-28 Brian Masney <masneyb@gftp.org>
masneyb
parents: 327
diff changeset
144
eedc2c5727fa 2003-12-28 Brian Masney <masneyb@gftp.org>
masneyb
parents: 327
diff changeset
145 gftp_text_log (gftp_logging_error, NULL,
eedc2c5727fa 2003-12-28 Brian Masney <masneyb@gftp.org>
masneyb
parents: 327
diff changeset
146 _("Cannot open controlling terminal %s\n"), termname);
eedc2c5727fa 2003-12-28 Brian Masney <masneyb@gftp.org>
masneyb
parents: 327
diff changeset
147 return (NULL);
eedc2c5727fa 2003-12-28 Brian Masney <masneyb@gftp.org>
masneyb
parents: 327
diff changeset
148 }
eedc2c5727fa 2003-12-28 Brian Masney <masneyb@gftp.org>
masneyb
parents: 327
diff changeset
149
eedc2c5727fa 2003-12-28 Brian Masney <masneyb@gftp.org>
masneyb
parents: 327
diff changeset
150 tcgetattr (0, &term);
eedc2c5727fa 2003-12-28 Brian Masney <masneyb@gftp.org>
masneyb
parents: 327
diff changeset
151 oldterm = term;
eedc2c5727fa 2003-12-28 Brian Masney <masneyb@gftp.org>
masneyb
parents: 327
diff changeset
152 term.c_lflag &= ~(ECHO | ECHOE | ECHOK | ECHONL);
eedc2c5727fa 2003-12-28 Brian Masney <masneyb@gftp.org>
masneyb
parents: 327
diff changeset
153 tcsetattr (fileno (infd), TCSAFLUSH, &term);
eedc2c5727fa 2003-12-28 Brian Masney <masneyb@gftp.org>
masneyb
parents: 327
diff changeset
154 }
eedc2c5727fa 2003-12-28 Brian Masney <masneyb@gftp.org>
masneyb
parents: 327
diff changeset
155 else
eedc2c5727fa 2003-12-28 Brian Masney <masneyb@gftp.org>
masneyb
parents: 327
diff changeset
156 infd = stdin;
eedc2c5727fa 2003-12-28 Brian Masney <masneyb@gftp.org>
masneyb
parents: 327
diff changeset
157
356
7cb3327f96f7 2003-1-5 Brian Masney <masneyb@gftp.org>
masneyb
parents: 354
diff changeset
158 printf ("%s%s%s ", GFTPUI_COMMON_COLOR_BLUE, question, GFTPUI_COMMON_COLOR_DEFAULT);
341
eedc2c5727fa 2003-12-28 Brian Masney <masneyb@gftp.org>
masneyb
parents: 327
diff changeset
159
eedc2c5727fa 2003-12-28 Brian Masney <masneyb@gftp.org>
masneyb
parents: 327
diff changeset
160 if (fgets (buf, size, infd) == NULL)
eedc2c5727fa 2003-12-28 Brian Masney <masneyb@gftp.org>
masneyb
parents: 327
diff changeset
161 return (NULL);
eedc2c5727fa 2003-12-28 Brian Masney <masneyb@gftp.org>
masneyb
parents: 327
diff changeset
162 buf[size - 1] = '\0';
eedc2c5727fa 2003-12-28 Brian Masney <masneyb@gftp.org>
masneyb
parents: 327
diff changeset
163
eedc2c5727fa 2003-12-28 Brian Masney <masneyb@gftp.org>
masneyb
parents: 327
diff changeset
164 if (!echo)
eedc2c5727fa 2003-12-28 Brian Masney <masneyb@gftp.org>
masneyb
parents: 327
diff changeset
165 {
eedc2c5727fa 2003-12-28 Brian Masney <masneyb@gftp.org>
masneyb
parents: 327
diff changeset
166 printf ("\n");
eedc2c5727fa 2003-12-28 Brian Masney <masneyb@gftp.org>
masneyb
parents: 327
diff changeset
167 tcsetattr (fileno (infd), TCSAFLUSH, &oldterm);
eedc2c5727fa 2003-12-28 Brian Masney <masneyb@gftp.org>
masneyb
parents: 327
diff changeset
168 fclose (infd);
eedc2c5727fa 2003-12-28 Brian Masney <masneyb@gftp.org>
masneyb
parents: 327
diff changeset
169 sigprocmask (SIG_SETMASK, &sigsave, NULL);
eedc2c5727fa 2003-12-28 Brian Masney <masneyb@gftp.org>
masneyb
parents: 327
diff changeset
170 }
eedc2c5727fa 2003-12-28 Brian Masney <masneyb@gftp.org>
masneyb
parents: 327
diff changeset
171
eedc2c5727fa 2003-12-28 Brian Masney <masneyb@gftp.org>
masneyb
parents: 327
diff changeset
172 for (pos = buf + strlen (buf) - 1; *pos == ' ' || *pos == '\r' ||
eedc2c5727fa 2003-12-28 Brian Masney <masneyb@gftp.org>
masneyb
parents: 327
diff changeset
173 *pos == '\n'; pos--);
eedc2c5727fa 2003-12-28 Brian Masney <masneyb@gftp.org>
masneyb
parents: 327
diff changeset
174 *(pos+1) = '\0';
eedc2c5727fa 2003-12-28 Brian Masney <masneyb@gftp.org>
masneyb
parents: 327
diff changeset
175
eedc2c5727fa 2003-12-28 Brian Masney <masneyb@gftp.org>
masneyb
parents: 327
diff changeset
176 for (pos = buf; *pos == ' '; pos++);
eedc2c5727fa 2003-12-28 Brian Masney <masneyb@gftp.org>
masneyb
parents: 327
diff changeset
177 if (*pos == '\0')
eedc2c5727fa 2003-12-28 Brian Masney <masneyb@gftp.org>
masneyb
parents: 327
diff changeset
178 return (NULL);
eedc2c5727fa 2003-12-28 Brian Masney <masneyb@gftp.org>
masneyb
parents: 327
diff changeset
179
eedc2c5727fa 2003-12-28 Brian Masney <masneyb@gftp.org>
masneyb
parents: 327
diff changeset
180 return (pos);
eedc2c5727fa 2003-12-28 Brian Masney <masneyb@gftp.org>
masneyb
parents: 327
diff changeset
181 }
eedc2c5727fa 2003-12-28 Brian Masney <masneyb@gftp.org>
masneyb
parents: 327
diff changeset
182
eedc2c5727fa 2003-12-28 Brian Masney <masneyb@gftp.org>
masneyb
parents: 327
diff changeset
183
eedc2c5727fa 2003-12-28 Brian Masney <masneyb@gftp.org>
masneyb
parents: 327
diff changeset
184 int
eedc2c5727fa 2003-12-28 Brian Masney <masneyb@gftp.org>
masneyb
parents: 327
diff changeset
185 main (int argc, char **argv)
eedc2c5727fa 2003-12-28 Brian Masney <masneyb@gftp.org>
masneyb
parents: 327
diff changeset
186 {
eedc2c5727fa 2003-12-28 Brian Masney <masneyb@gftp.org>
masneyb
parents: 327
diff changeset
187 char *startup_directory;
eedc2c5727fa 2003-12-28 Brian Masney <masneyb@gftp.org>
masneyb
parents: 327
diff changeset
188 #if HAVE_LIBREADLINE
eedc2c5727fa 2003-12-28 Brian Masney <masneyb@gftp.org>
masneyb
parents: 327
diff changeset
189 char *tempstr, prompt[20];
eedc2c5727fa 2003-12-28 Brian Masney <masneyb@gftp.org>
masneyb
parents: 327
diff changeset
190 #else
eedc2c5727fa 2003-12-28 Brian Masney <masneyb@gftp.org>
masneyb
parents: 327
diff changeset
191 char tempstr[512];
eedc2c5727fa 2003-12-28 Brian Masney <masneyb@gftp.org>
masneyb
parents: 327
diff changeset
192 #endif
eedc2c5727fa 2003-12-28 Brian Masney <masneyb@gftp.org>
masneyb
parents: 327
diff changeset
193
eedc2c5727fa 2003-12-28 Brian Masney <masneyb@gftp.org>
masneyb
parents: 327
diff changeset
194 gftp_locale_init ();
eedc2c5727fa 2003-12-28 Brian Masney <masneyb@gftp.org>
masneyb
parents: 327
diff changeset
195
eedc2c5727fa 2003-12-28 Brian Masney <masneyb@gftp.org>
masneyb
parents: 327
diff changeset
196 signal (SIGCHLD, sig_child);
eedc2c5727fa 2003-12-28 Brian Masney <masneyb@gftp.org>
masneyb
parents: 327
diff changeset
197 signal (SIGPIPE, SIG_IGN);
eedc2c5727fa 2003-12-28 Brian Masney <masneyb@gftp.org>
masneyb
parents: 327
diff changeset
198
eedc2c5727fa 2003-12-28 Brian Masney <masneyb@gftp.org>
masneyb
parents: 327
diff changeset
199 gftp_read_config_file (SHARE_DIR);
eedc2c5727fa 2003-12-28 Brian Masney <masneyb@gftp.org>
masneyb
parents: 327
diff changeset
200
eedc2c5727fa 2003-12-28 Brian Masney <masneyb@gftp.org>
masneyb
parents: 327
diff changeset
201 if (gftp_parse_command_line (&argc, &argv) != 0)
eedc2c5727fa 2003-12-28 Brian Masney <masneyb@gftp.org>
masneyb
parents: 327
diff changeset
202 exit (0);
eedc2c5727fa 2003-12-28 Brian Masney <masneyb@gftp.org>
masneyb
parents: 327
diff changeset
203
eedc2c5727fa 2003-12-28 Brian Masney <masneyb@gftp.org>
masneyb
parents: 327
diff changeset
204 /* SSH doesn't support reading the password with askpass via the command
eedc2c5727fa 2003-12-28 Brian Masney <masneyb@gftp.org>
masneyb
parents: 327
diff changeset
205 line */
eedc2c5727fa 2003-12-28 Brian Masney <masneyb@gftp.org>
masneyb
parents: 327
diff changeset
206
eedc2c5727fa 2003-12-28 Brian Masney <masneyb@gftp.org>
masneyb
parents: 327
diff changeset
207 gftp_text_remreq = gftp_request_new ();
eedc2c5727fa 2003-12-28 Brian Masney <masneyb@gftp.org>
masneyb
parents: 327
diff changeset
208 gftp_set_request_option (gftp_text_remreq, "ssh_use_askpass",
eedc2c5727fa 2003-12-28 Brian Masney <masneyb@gftp.org>
masneyb
parents: 327
diff changeset
209 GINT_TO_POINTER(0));
eedc2c5727fa 2003-12-28 Brian Masney <masneyb@gftp.org>
masneyb
parents: 327
diff changeset
210 gftp_set_request_option (gftp_text_remreq, "sshv2_use_sftp_subsys",
eedc2c5727fa 2003-12-28 Brian Masney <masneyb@gftp.org>
masneyb
parents: 327
diff changeset
211 GINT_TO_POINTER(0));
eedc2c5727fa 2003-12-28 Brian Masney <masneyb@gftp.org>
masneyb
parents: 327
diff changeset
212 gftp_text_remreq->logging_function = gftp_text_log;
eedc2c5727fa 2003-12-28 Brian Masney <masneyb@gftp.org>
masneyb
parents: 327
diff changeset
213
eedc2c5727fa 2003-12-28 Brian Masney <masneyb@gftp.org>
masneyb
parents: 327
diff changeset
214 gftp_text_locreq = gftp_request_new ();
eedc2c5727fa 2003-12-28 Brian Masney <masneyb@gftp.org>
masneyb
parents: 327
diff changeset
215 gftp_set_request_option (gftp_text_locreq, "ssh_use_askpass",
eedc2c5727fa 2003-12-28 Brian Masney <masneyb@gftp.org>
masneyb
parents: 327
diff changeset
216 GINT_TO_POINTER(0));
eedc2c5727fa 2003-12-28 Brian Masney <masneyb@gftp.org>
masneyb
parents: 327
diff changeset
217 gftp_set_request_option (gftp_text_locreq, "sshv2_use_sftp_subsys",
eedc2c5727fa 2003-12-28 Brian Masney <masneyb@gftp.org>
masneyb
parents: 327
diff changeset
218 GINT_TO_POINTER(0));
eedc2c5727fa 2003-12-28 Brian Masney <masneyb@gftp.org>
masneyb
parents: 327
diff changeset
219
eedc2c5727fa 2003-12-28 Brian Masney <masneyb@gftp.org>
masneyb
parents: 327
diff changeset
220 gftp_text_locreq->logging_function = gftp_text_log;
eedc2c5727fa 2003-12-28 Brian Masney <masneyb@gftp.org>
masneyb
parents: 327
diff changeset
221 if (gftp_protocols[GFTP_LOCAL_NUM].init (gftp_text_locreq) == 0)
eedc2c5727fa 2003-12-28 Brian Masney <masneyb@gftp.org>
masneyb
parents: 327
diff changeset
222 {
eedc2c5727fa 2003-12-28 Brian Masney <masneyb@gftp.org>
masneyb
parents: 327
diff changeset
223 gftp_lookup_request_option (gftp_text_locreq, "startup_directory",
eedc2c5727fa 2003-12-28 Brian Masney <masneyb@gftp.org>
masneyb
parents: 327
diff changeset
224 &startup_directory);
eedc2c5727fa 2003-12-28 Brian Masney <masneyb@gftp.org>
masneyb
parents: 327
diff changeset
225 if (*startup_directory != '\0')
eedc2c5727fa 2003-12-28 Brian Masney <masneyb@gftp.org>
masneyb
parents: 327
diff changeset
226 gftp_set_directory (gftp_text_locreq, startup_directory);
eedc2c5727fa 2003-12-28 Brian Masney <masneyb@gftp.org>
masneyb
parents: 327
diff changeset
227
eedc2c5727fa 2003-12-28 Brian Masney <masneyb@gftp.org>
masneyb
parents: 327
diff changeset
228 gftp_connect (gftp_text_locreq);
eedc2c5727fa 2003-12-28 Brian Masney <masneyb@gftp.org>
masneyb
parents: 327
diff changeset
229 }
eedc2c5727fa 2003-12-28 Brian Masney <masneyb@gftp.org>
masneyb
parents: 327
diff changeset
230
eedc2c5727fa 2003-12-28 Brian Masney <masneyb@gftp.org>
masneyb
parents: 327
diff changeset
231 gftpui_common_about (gftp_text_log, NULL);
eedc2c5727fa 2003-12-28 Brian Masney <masneyb@gftp.org>
masneyb
parents: 327
diff changeset
232 gftp_text_log (gftp_logging_misc, NULL, "\n");
eedc2c5727fa 2003-12-28 Brian Masney <masneyb@gftp.org>
masneyb
parents: 327
diff changeset
233
eedc2c5727fa 2003-12-28 Brian Masney <masneyb@gftp.org>
masneyb
parents: 327
diff changeset
234 /* FIXME
eedc2c5727fa 2003-12-28 Brian Masney <masneyb@gftp.org>
masneyb
parents: 327
diff changeset
235 if (argc == 3 && strcmp (argv[1], "-d") == 0)
eedc2c5727fa 2003-12-28 Brian Masney <masneyb@gftp.org>
masneyb
parents: 327
diff changeset
236 {
eedc2c5727fa 2003-12-28 Brian Masney <masneyb@gftp.org>
masneyb
parents: 327
diff changeset
237 if ((pos = strrchr (argv[2], '/')) != NULL)
eedc2c5727fa 2003-12-28 Brian Masney <masneyb@gftp.org>
masneyb
parents: 327
diff changeset
238 *pos = '\0';
eedc2c5727fa 2003-12-28 Brian Masney <masneyb@gftp.org>
masneyb
parents: 327
diff changeset
239 gftp_text_open (gftp_text_remreq, argv[2], NULL);
eedc2c5727fa 2003-12-28 Brian Masney <masneyb@gftp.org>
masneyb
parents: 327
diff changeset
240
eedc2c5727fa 2003-12-28 Brian Masney <masneyb@gftp.org>
masneyb
parents: 327
diff changeset
241 if (pos != NULL)
eedc2c5727fa 2003-12-28 Brian Masney <masneyb@gftp.org>
masneyb
parents: 327
diff changeset
242 *pos = '/';
eedc2c5727fa 2003-12-28 Brian Masney <masneyb@gftp.org>
masneyb
parents: 327
diff changeset
243
eedc2c5727fa 2003-12-28 Brian Masney <masneyb@gftp.org>
masneyb
parents: 327
diff changeset
244 gftp_text_mget_file (gftp_text_remreq, pos + 1, NULL);
eedc2c5727fa 2003-12-28 Brian Masney <masneyb@gftp.org>
masneyb
parents: 327
diff changeset
245 exit (0);
eedc2c5727fa 2003-12-28 Brian Masney <masneyb@gftp.org>
masneyb
parents: 327
diff changeset
246 }
eedc2c5727fa 2003-12-28 Brian Masney <masneyb@gftp.org>
masneyb
parents: 327
diff changeset
247 else if (argc == 2)
eedc2c5727fa 2003-12-28 Brian Masney <masneyb@gftp.org>
masneyb
parents: 327
diff changeset
248 gftp_text_open (gftp_text_remreq, argv[1], NULL);
eedc2c5727fa 2003-12-28 Brian Masney <masneyb@gftp.org>
masneyb
parents: 327
diff changeset
249 */
eedc2c5727fa 2003-12-28 Brian Masney <masneyb@gftp.org>
masneyb
parents: 327
diff changeset
250
eedc2c5727fa 2003-12-28 Brian Masney <masneyb@gftp.org>
masneyb
parents: 327
diff changeset
251 gftpui_common_init (NULL, gftp_text_locreq,
eedc2c5727fa 2003-12-28 Brian Masney <masneyb@gftp.org>
masneyb
parents: 327
diff changeset
252 NULL, gftp_text_remreq);
eedc2c5727fa 2003-12-28 Brian Masney <masneyb@gftp.org>
masneyb
parents: 327
diff changeset
253
eedc2c5727fa 2003-12-28 Brian Masney <masneyb@gftp.org>
masneyb
parents: 327
diff changeset
254 #if HAVE_LIBREADLINE
eedc2c5727fa 2003-12-28 Brian Masney <masneyb@gftp.org>
masneyb
parents: 327
diff changeset
255 g_snprintf (prompt, sizeof (prompt), "%sftp%s> ", GFTPUI_COMMON_COLOR_BLUE, GFTPUI_COMMON_COLOR_DEFAULT);
eedc2c5727fa 2003-12-28 Brian Masney <masneyb@gftp.org>
masneyb
parents: 327
diff changeset
256 while ((tempstr = readline (prompt)))
eedc2c5727fa 2003-12-28 Brian Masney <masneyb@gftp.org>
masneyb
parents: 327
diff changeset
257 {
eedc2c5727fa 2003-12-28 Brian Masney <masneyb@gftp.org>
masneyb
parents: 327
diff changeset
258 if (gftpui_common_process_command (tempstr) == 0)
eedc2c5727fa 2003-12-28 Brian Masney <masneyb@gftp.org>
masneyb
parents: 327
diff changeset
259 break;
eedc2c5727fa 2003-12-28 Brian Masney <masneyb@gftp.org>
masneyb
parents: 327
diff changeset
260
eedc2c5727fa 2003-12-28 Brian Masney <masneyb@gftp.org>
masneyb
parents: 327
diff changeset
261 add_history (tempstr);
eedc2c5727fa 2003-12-28 Brian Masney <masneyb@gftp.org>
masneyb
parents: 327
diff changeset
262 free (tempstr);
eedc2c5727fa 2003-12-28 Brian Masney <masneyb@gftp.org>
masneyb
parents: 327
diff changeset
263 }
eedc2c5727fa 2003-12-28 Brian Masney <masneyb@gftp.org>
masneyb
parents: 327
diff changeset
264 #else
eedc2c5727fa 2003-12-28 Brian Masney <masneyb@gftp.org>
masneyb
parents: 327
diff changeset
265 printf ("%sftp%s> ", GFTPUI_COMMON_COLOR_BLUE, GFTPUI_COMMON_COLOR_DEFAULT);
eedc2c5727fa 2003-12-28 Brian Masney <masneyb@gftp.org>
masneyb
parents: 327
diff changeset
266 while (fgets (tempstr, sizeof (tempstr), stdin) != NULL)
eedc2c5727fa 2003-12-28 Brian Masney <masneyb@gftp.org>
masneyb
parents: 327
diff changeset
267 {
eedc2c5727fa 2003-12-28 Brian Masney <masneyb@gftp.org>
masneyb
parents: 327
diff changeset
268 if (gftpui_common_process_command (tempstr) == 0)
eedc2c5727fa 2003-12-28 Brian Masney <masneyb@gftp.org>
masneyb
parents: 327
diff changeset
269 break;
eedc2c5727fa 2003-12-28 Brian Masney <masneyb@gftp.org>
masneyb
parents: 327
diff changeset
270
eedc2c5727fa 2003-12-28 Brian Masney <masneyb@gftp.org>
masneyb
parents: 327
diff changeset
271 printf ("%sftp%s> ", GFTPUI_COMMON_COLOR_BLUE, GFTPUI_COMMON_COLOR_DEFAULT);
eedc2c5727fa 2003-12-28 Brian Masney <masneyb@gftp.org>
masneyb
parents: 327
diff changeset
272 }
eedc2c5727fa 2003-12-28 Brian Masney <masneyb@gftp.org>
masneyb
parents: 327
diff changeset
273 #endif
eedc2c5727fa 2003-12-28 Brian Masney <masneyb@gftp.org>
masneyb
parents: 327
diff changeset
274
eedc2c5727fa 2003-12-28 Brian Masney <masneyb@gftp.org>
masneyb
parents: 327
diff changeset
275 return (0);
eedc2c5727fa 2003-12-28 Brian Masney <masneyb@gftp.org>
masneyb
parents: 327
diff changeset
276 }
eedc2c5727fa 2003-12-28 Brian Masney <masneyb@gftp.org>
masneyb
parents: 327
diff changeset
277
eedc2c5727fa 2003-12-28 Brian Masney <masneyb@gftp.org>
masneyb
parents: 327
diff changeset
278 #if 0
1
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
279 int
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
280 gftp_text_open (gftp_request * request, char *command, gpointer *data)
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
281 {
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
282 char tempstr[255], *pos;
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
283
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
284 if (GFTP_IS_CONNECTED (request))
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
285 {
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
286 gftp_disconnect (request);
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
287 }
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
288
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
289 if (*command == '\0')
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
290 {
186
13ca1defdc75 2003-6-16 Brian Masney <masneyb@gftp.org>
masneyb
parents: 182
diff changeset
291 gftp_text_log (gftp_logging_error, request,
1
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
292 _("usage: open [[ftp://][user:pass@]ftp-site[:port][/directory]]\n"));
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
293 return (1);
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
294 }
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
295
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
296 if (gftp_parse_url (request, command) < 0)
173
4c288d05b26a 2003-6-8 Brian Masney <masneyb@gftp.org>
masneyb
parents: 169
diff changeset
297 return (1);
1
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
298
169
d40f9db52cdf 2003-6-8 Brian Masney <masneyb@gftp.org>
masneyb
parents: 166
diff changeset
299 if (request->need_userpass)
1
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
300 {
169
d40f9db52cdf 2003-6-8 Brian Masney <masneyb@gftp.org>
masneyb
parents: 166
diff changeset
301 if (request->username == NULL || *request->username == '\0')
1
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
302 {
166
a4bf947e9e22 2003-5-27 Brian Masney <masneyb@gftp.org>
masneyb
parents: 143
diff changeset
303 if ((pos = gftp_text_ask_question ("Username [anonymous]", 1, tempstr,
a4bf947e9e22 2003-5-27 Brian Masney <masneyb@gftp.org>
masneyb
parents: 143
diff changeset
304 sizeof (tempstr))) != NULL)
1
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
305 {
166
a4bf947e9e22 2003-5-27 Brian Masney <masneyb@gftp.org>
masneyb
parents: 143
diff changeset
306 gftp_set_username (request, pos);
169
d40f9db52cdf 2003-6-8 Brian Masney <masneyb@gftp.org>
masneyb
parents: 166
diff changeset
307 gftp_set_password (request, NULL);
1
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
308 }
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
309 }
169
d40f9db52cdf 2003-6-8 Brian Masney <masneyb@gftp.org>
masneyb
parents: 166
diff changeset
310
d40f9db52cdf 2003-6-8 Brian Masney <masneyb@gftp.org>
masneyb
parents: 166
diff changeset
311 if (request->username != NULL &&
d40f9db52cdf 2003-6-8 Brian Masney <masneyb@gftp.org>
masneyb
parents: 166
diff changeset
312 strcmp (request->username, "anonymous") != 0 &&
d40f9db52cdf 2003-6-8 Brian Masney <masneyb@gftp.org>
masneyb
parents: 166
diff changeset
313 (request->password == NULL || *request->password == '\0'))
166
a4bf947e9e22 2003-5-27 Brian Masney <masneyb@gftp.org>
masneyb
parents: 143
diff changeset
314 {
169
d40f9db52cdf 2003-6-8 Brian Masney <masneyb@gftp.org>
masneyb
parents: 166
diff changeset
315 if ((pos = gftp_text_ask_question ("Password", 0, tempstr,
d40f9db52cdf 2003-6-8 Brian Masney <masneyb@gftp.org>
masneyb
parents: 166
diff changeset
316 sizeof (tempstr))) == NULL)
d40f9db52cdf 2003-6-8 Brian Masney <masneyb@gftp.org>
masneyb
parents: 166
diff changeset
317 return (1);
d40f9db52cdf 2003-6-8 Brian Masney <masneyb@gftp.org>
masneyb
parents: 166
diff changeset
318 gftp_set_password (request, pos);
166
a4bf947e9e22 2003-5-27 Brian Masney <masneyb@gftp.org>
masneyb
parents: 143
diff changeset
319 }
1
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
320 }
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
321
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
322 gftp_connect (request);
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
323 return (1);
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
324 }
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
325
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
326
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
327 int
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
328 gftp_text_mget_file (gftp_request * request, char *command, gpointer *data)
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
329 {
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
330 gftp_transfer * transfer;
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
331 gftp_file * fle;
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
332
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
333 if (!GFTP_IS_CONNECTED (gftp_text_remreq))
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
334 {
186
13ca1defdc75 2003-6-16 Brian Masney <masneyb@gftp.org>
masneyb
parents: 182
diff changeset
335 gftp_text_log (gftp_logging_error, request,
1
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
336 _("Error: Not connected to a remote site\n"));
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
337 return (1);
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
338 }
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
339
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
340 if (*command == '\0')
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
341 {
186
13ca1defdc75 2003-6-16 Brian Masney <masneyb@gftp.org>
masneyb
parents: 182
diff changeset
342 gftp_text_log (gftp_logging_error, request,
13ca1defdc75 2003-6-16 Brian Masney <masneyb@gftp.org>
masneyb
parents: 182
diff changeset
343 _("usage: mget <filespec>\n"));
1
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
344 return (1);
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
345 }
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
346
129
fe0b21c006f6 2003-4-13 Brian Masney <masneyb@gftp.org>
masneyb
parents: 125
diff changeset
347 transfer = gftp_tdata_new ();
1
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
348 transfer->fromreq = gftp_text_remreq;
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
349 transfer->toreq = gftp_text_locreq;
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
350
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
351 /* FIXME - ask whether to resume/skip/overwrite */
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
352 if (gftp_list_files (transfer->fromreq) != 0)
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
353 {
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
354 transfer->fromreq = transfer->toreq = NULL;
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
355 free_tdata (transfer);
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
356 return (1);
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
357 }
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
358 fle = g_malloc0 (sizeof (*fle));
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
359 while (gftp_get_next_file (transfer->fromreq, command, fle) > 0)
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
360 {
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
361 if (strcmp (fle->file, ".") == 0 || strcmp (fle->file, "..") == 0)
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
362 {
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
363 gftp_file_destroy (fle);
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
364 continue;
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
365 }
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
366 transfer->files = g_list_append (transfer->files, fle);
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
367 fle = g_malloc (sizeof (*fle));
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
368 }
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
369 g_free (fle);
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
370 gftp_end_transfer (transfer->fromreq);
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
371
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
372 if (transfer->files == NULL)
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
373 {
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
374 transfer->fromreq = transfer->toreq = NULL;
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
375 free_tdata (transfer);
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
376 return (1);
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
377 }
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
378
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
379 if (gftp_get_all_subdirs (transfer, NULL) != 0)
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
380 {
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
381 transfer->fromreq = transfer->toreq = NULL;
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
382 free_tdata (transfer);
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
383 return (1);
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
384 }
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
385
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
386 if (transfer->files == NULL)
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
387 {
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
388 transfer->fromreq = transfer->toreq = NULL;
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
389 free_tdata (transfer);
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
390 return (1);
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
391 }
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
392
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
393 gftp_text_transfer_files (transfer);
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
394 transfer->fromreq = transfer->toreq = NULL;
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
395 free_tdata (transfer);
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
396 return (1);
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
397 }
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
398
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
399
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
400 int
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
401 gftp_text_mput_file (gftp_request * request, char *command, gpointer *data)
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
402 {
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
403 gftp_transfer * transfer;
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
404 gftp_file * fle;
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
405
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
406 if (!GFTP_IS_CONNECTED (gftp_text_remreq))
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
407 {
186
13ca1defdc75 2003-6-16 Brian Masney <masneyb@gftp.org>
masneyb
parents: 182
diff changeset
408 gftp_text_log (gftp_logging_error, request,
1
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
409 _("Error: Not connected to a remote site\n"));
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
410 return (1);
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
411 }
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
412
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
413 if (*command == '\0')
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
414 {
186
13ca1defdc75 2003-6-16 Brian Masney <masneyb@gftp.org>
masneyb
parents: 182
diff changeset
415 gftp_text_log (gftp_logging_error, request,
13ca1defdc75 2003-6-16 Brian Masney <masneyb@gftp.org>
masneyb
parents: 182
diff changeset
416 _("usage: mput <filespec>\n"));
1
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
417 return (1);
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
418 }
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
419
129
fe0b21c006f6 2003-4-13 Brian Masney <masneyb@gftp.org>
masneyb
parents: 125
diff changeset
420 transfer = gftp_tdata_new ();
1
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
421 transfer->fromreq = gftp_text_locreq;
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
422 transfer->toreq = gftp_text_remreq;
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
423
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
424 if (gftp_list_files (transfer->fromreq) != 0)
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
425 {
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
426 transfer->fromreq = transfer->toreq = NULL;
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
427 free_tdata (transfer);
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
428 return (1);
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
429 }
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
430 fle = g_malloc (sizeof (*fle));
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
431 while (gftp_get_next_file (transfer->fromreq, command, fle) > 0)
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
432 {
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
433 if (strcmp (fle->file, ".") == 0 || strcmp (fle->file, "..") == 0)
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
434 {
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
435 gftp_file_destroy (fle);
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
436 continue;
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
437 }
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
438 transfer->files = g_list_append (transfer->files, fle);
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
439 fle = g_malloc (sizeof (*fle));
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
440 }
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
441 g_free (fle);
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
442 gftp_end_transfer (transfer->fromreq);
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
443
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
444 if (transfer->files == NULL)
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
445 {
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
446 transfer->fromreq = transfer->toreq = NULL;
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
447 free_tdata (transfer);
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
448 return (1);
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
449 }
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
450
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
451 if (gftp_get_all_subdirs (transfer, NULL) != 0)
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
452 {
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
453 transfer->fromreq = transfer->toreq = NULL;
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
454 free_tdata (transfer);
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
455 return (1);
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
456 }
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
457
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
458 if (transfer->files == NULL)
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
459 {
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
460 transfer->fromreq = transfer->toreq = NULL;
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
461 free_tdata (transfer);
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
462 return (1);
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
463 }
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
464
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
465 gftp_text_transfer_files (transfer);
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
466 transfer->fromreq = transfer->toreq = NULL;
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
467 free_tdata (transfer);
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
468 return (1);
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
469 }
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
470
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
471
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
472 int
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
473 gftp_text_transfer_files (gftp_transfer * transfer)
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
474 {
327
98487556a058 2003-12-4 Brian Masney <masneyb@gftp.org>
masneyb
parents: 303
diff changeset
475 int i, j, sw, tot;
98487556a058 2003-12-4 Brian Masney <masneyb@gftp.org>
masneyb
parents: 303
diff changeset
476 intptr_t preserve_permissions;
122
76e2b58a9440 2003-4-5 Brian Masney <masneyb@gftp.org>
masneyb
parents: 67
diff changeset
477 char buf[8192], *progress = "|/-\\";
1
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
478 struct timeval updatetime;
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
479 long fromsize, total;
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
480 gftp_file * curfle;
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
481 ssize_t num_read;
182
33b394ebba68 2003-6-15 Brian Masney <masneyb@gftp.org>
masneyb
parents: 179
diff changeset
482 mode_t mode;
33b394ebba68 2003-6-15 Brian Masney <masneyb@gftp.org>
masneyb
parents: 179
diff changeset
483
33b394ebba68 2003-6-15 Brian Masney <masneyb@gftp.org>
masneyb
parents: 179
diff changeset
484 gftp_lookup_request_option (transfer->fromreq, "preserve_permissions",
33b394ebba68 2003-6-15 Brian Masney <masneyb@gftp.org>
masneyb
parents: 179
diff changeset
485 &preserve_permissions);
1
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
486
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
487 for (transfer->curfle = transfer->files;
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
488 transfer->curfle != NULL;
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
489 transfer->curfle = transfer->curfle->next)
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
490 {
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
491 curfle = transfer->curfle->data;
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
492 if (curfle->transfer_action == GFTP_TRANS_ACTION_SKIP)
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
493 continue;
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
494
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
495 if (curfle->isdir && transfer->toreq->mkdir != NULL)
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
496 {
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
497 transfer->toreq->mkdir (transfer->toreq, curfle->destfile);
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
498 continue;
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
499 }
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
500
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
501 transfer->curtrans = curfle->startsize;
58
c01d91c10f6c 2002-11-20 Brian Masney <masneyb@gftp.org>
masneyb
parents: 56
diff changeset
502 fromsize = gftp_transfer_file (transfer->fromreq, curfle->file, -1,
1
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
503 curfle->startsize, transfer->toreq, curfle->destfile,
58
c01d91c10f6c 2002-11-20 Brian Masney <masneyb@gftp.org>
masneyb
parents: 56
diff changeset
504 -1, curfle->startsize);
1
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
505 if (fromsize < 0)
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
506 return (1);
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
507
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
508 gettimeofday (&transfer->starttime, NULL);
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
509 memcpy (&transfer->lasttime, &transfer->starttime,
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
510 sizeof (transfer->lasttime));
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
511 memset (&updatetime, 0, sizeof (updatetime));
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
512
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
513 total = 0;
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
514 i = 0;
122
76e2b58a9440 2003-4-5 Brian Masney <masneyb@gftp.org>
masneyb
parents: 67
diff changeset
515 num_read = -1;
1
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
516 while (!cancel && (num_read = gftp_get_next_file_chunk (transfer->fromreq,
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
517 buf, sizeof (buf))) > 0)
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
518 {
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
519 printf ("\r%c ", progress[i++]);
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
520 fflush (stdout);
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
521 if (progress[i] == '\0')
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
522 i = 0;
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
523
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
524 total += num_read;
122
76e2b58a9440 2003-4-5 Brian Masney <masneyb@gftp.org>
masneyb
parents: 67
diff changeset
525 gftp_calc_kbs (transfer, num_read);
1
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
526 if (transfer->lasttime.tv_sec - updatetime.tv_sec >= 1 || total >= fromsize)
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
527 {
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
528 sw = gftp_text_get_win_size () - 20;
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
529 tot = (float) total / (float) fromsize * (float) sw;
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
530
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
531 if (tot > sw)
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
532 tot = sw;
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
533 printf ("[");
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
534 for (j=0; j<tot; j++)
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
535 printf ("=");
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
536 for (j=0; j<sw-tot; j++)
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
537 printf (" ");
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
538 printf ("] @ %.2fKB/s", transfer->kbs);
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
539 fflush (stdout);
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
540 memcpy (&updatetime, &transfer->lasttime, sizeof (updatetime));
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
541 }
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
542
122
76e2b58a9440 2003-4-5 Brian Masney <masneyb@gftp.org>
masneyb
parents: 67
diff changeset
543 if (gftp_put_next_file_chunk (transfer->toreq, buf, num_read) < 0)
1
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
544 {
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
545 num_read = -1;
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
546 break;
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
547 }
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
548 }
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
549 printf ("\n");
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
550
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
551 if (num_read < 0)
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
552 {
186
13ca1defdc75 2003-6-16 Brian Masney <masneyb@gftp.org>
masneyb
parents: 182
diff changeset
553 gftp_text_log (gftp_logging_misc, transfer->fromreq,
1
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
554 _("Could not download %s\n"), curfle->file);
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
555 gftp_disconnect (transfer->fromreq);
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
556 gftp_disconnect (transfer->toreq);
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
557 }
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
558 else
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
559 {
186
13ca1defdc75 2003-6-16 Brian Masney <masneyb@gftp.org>
masneyb
parents: 182
diff changeset
560 gftp_text_log (gftp_logging_misc, transfer->fromreq,
1
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
561 _("Successfully transferred %s\n"), curfle->file);
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
562 gftp_end_transfer (transfer->fromreq);
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
563 gftp_end_transfer (transfer->toreq);
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
564 }
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
565
182
33b394ebba68 2003-6-15 Brian Masney <masneyb@gftp.org>
masneyb
parents: 179
diff changeset
566 if (!curfle->is_fd && preserve_permissions)
33b394ebba68 2003-6-15 Brian Masney <masneyb@gftp.org>
masneyb
parents: 179
diff changeset
567 {
33b394ebba68 2003-6-15 Brian Masney <masneyb@gftp.org>
masneyb
parents: 179
diff changeset
568 if (curfle->attribs)
33b394ebba68 2003-6-15 Brian Masney <masneyb@gftp.org>
masneyb
parents: 179
diff changeset
569 {
33b394ebba68 2003-6-15 Brian Masney <masneyb@gftp.org>
masneyb
parents: 179
diff changeset
570 mode = gftp_parse_attribs (curfle->attribs);
33b394ebba68 2003-6-15 Brian Masney <masneyb@gftp.org>
masneyb
parents: 179
diff changeset
571 if (mode != 0)
33b394ebba68 2003-6-15 Brian Masney <masneyb@gftp.org>
masneyb
parents: 179
diff changeset
572 gftp_chmod (transfer->toreq, curfle->destfile, mode);
33b394ebba68 2003-6-15 Brian Masney <masneyb@gftp.org>
masneyb
parents: 179
diff changeset
573 }
33b394ebba68 2003-6-15 Brian Masney <masneyb@gftp.org>
masneyb
parents: 179
diff changeset
574
33b394ebba68 2003-6-15 Brian Masney <masneyb@gftp.org>
masneyb
parents: 179
diff changeset
575 if (curfle->datetime != 0)
33b394ebba68 2003-6-15 Brian Masney <masneyb@gftp.org>
masneyb
parents: 179
diff changeset
576 gftp_set_file_time (transfer->toreq, curfle->destfile,
33b394ebba68 2003-6-15 Brian Masney <masneyb@gftp.org>
masneyb
parents: 179
diff changeset
577 curfle->datetime);
33b394ebba68 2003-6-15 Brian Masney <masneyb@gftp.org>
masneyb
parents: 179
diff changeset
578 }
1
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
579 }
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
580 return (1);
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
581 }
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
582
341
eedc2c5727fa 2003-12-28 Brian Masney <masneyb@gftp.org>
masneyb
parents: 327
diff changeset
583 #endif