+2003-09-17 Aurelien Marchand <artaxerxes@users.sf.net>
+
+ * ftp.h: Added OS400 system in enum
+ * ftp-basic.c: recognize OS400 systems
+ * ftp.c: don't prepend the CWD if talking to OS400, since it
+ breaks the change in library
+
2003-09-18 Hrvoje Niksic <hniksic@xemacs.org>
* retr.c (get_contents): Pass the correct argument to ssl_iread.
*server_type = ST_WINNT;
else if (!strcasecmp (request, "MACOS"))
*server_type = ST_MACOS;
+ else if (!strcasecmp (request, "OS/400"))
+ *server_type = ST_OS400;
else
*server_type = ST_OTHER;
A relative directory is one that does not begin with '/'
and, on non-Unix OS'es, one that doesn't begin with
- "<letter>:". */
+ "[a-z]:".
+
+ This is not done for OS400, which doesn't use
+ "/"-delimited directories, nor does it support directory
+ hierarchies. "CWD foo" followed by "CWD bar" leaves us
+ in "bar", not in "foo/bar", as would be customary
+ elsewhere. */
if (target[0] != '/'
&& !(con->rs != ST_UNIX
- && ISALPHA (target[0]) && target[1] == ':'))
+ && ISALPHA (target[0])
+ && target[1] == ':')
+ && con->rs != ST_OS400)
{
int idlen = strlen (con->id);
char *ntarget, *p;