Mercurial > gftp.yaz
diff lib/sshv2.c @ 14:83090328581e
* More largefile support. Hopefully all that is left is the configure stuff
* Sanity checking on the fdopen() calls. Also make sure that all of them have a + in their open mode. Doesn't affect UNIX, but it does affect Windows
* HTTP fixes when running under Solaris. Read from request->sockfd and write to request->sockfd_write (Solaris doesn't like it when you read/write to the same FILE structure)
* Display major/minor properly for a device when connected with the local protocol
| author | masneyb |
|---|---|
| date | Wed, 04 Sep 2002 11:45:56 +0000 |
| parents | 8b1883341c6f |
| children | c8ec7877432e |
line wrap: on
line diff
--- a/lib/sshv2.c Fri Aug 30 19:46:27 2002 +0000 +++ b/lib/sshv2.c Wed Sep 04 11:45:56 2002 +0000 @@ -356,8 +356,23 @@ g_free (args); g_free (exepath); - request->sockfd = request->datafd = fdopen (fdm, "rb"); - request->sockfd_write = fdopen (fdm, "wb"); + if ((request->sockfd = fdopen (fdm, "rb+")) == NULL) + { + request->logging_function (gftp_logging_error, request->user_data, + _("Cannot fdopen() socket: %s\n"), + g_strerror (errno)); + close (fdm); + return (-2); + } + + if ((request->sockfd_write = fdopen (fdm, "wb+")) == NULL) + { + request->logging_function (gftp_logging_error, request->user_data, + _("Cannot fdopen() socket: %s\n"), + g_strerror (errno)); + gftp_disconnect (request); + return (-2); + } version = htonl (SSH_MY_VERSION); if (sshv2_send_command (request, SSH_FXP_INIT, (char *) &version, 4) < 0) @@ -411,7 +426,7 @@ _("Disconnecting from site %s\n"), request->hostname); fclose (request->sockfd); - request->sockfd = request->datafd = request->sockfd_write = NULL; + request->sockfd = request->sockfd_write = NULL; } if (params->message.buffer != NULL) @@ -780,7 +795,6 @@ g_return_val_if_fail (request != NULL, -2); g_return_val_if_fail (request->protonum == GFTP_SSHV2_NUM, -2); - g_return_val_if_fail (request->datafd != NULL, -2); params = request->protocol_data; if (params->message.buffer != NULL) @@ -1087,7 +1101,6 @@ g_return_val_if_fail (request != NULL, -2); g_return_val_if_fail (request->protonum == GFTP_SSHV2_NUM, -2); - g_return_val_if_fail (request->datafd != NULL, -2); params = request->protocol_data; if (request->directory != directory) @@ -1157,7 +1170,6 @@ g_return_val_if_fail (request != NULL, -2); g_return_val_if_fail (request->protonum == GFTP_SSHV2_NUM, -2); - g_return_val_if_fail (request->datafd != NULL, -2); if (request->directory == NULL || *request->directory == '\0') dir = "."; @@ -1219,7 +1231,6 @@ g_return_val_if_fail (request != NULL, -2); g_return_val_if_fail (request->protonum == GFTP_SSHV2_NUM, -2); - g_return_val_if_fail (request->datafd != NULL, -2); g_return_val_if_fail (directory != NULL, -2); params = request->protocol_data; @@ -1277,7 +1288,6 @@ g_return_val_if_fail (request != NULL, -2); g_return_val_if_fail (request->protonum == GFTP_SSHV2_NUM, -2); - g_return_val_if_fail (request->datafd != NULL, -2); g_return_val_if_fail (file != NULL, -2); params = request->protocol_data; @@ -1335,7 +1345,6 @@ g_return_val_if_fail (request != NULL, -2); g_return_val_if_fail (request->protonum == GFTP_SSHV2_NUM, -2); - g_return_val_if_fail (request->datafd != NULL, -2); g_return_val_if_fail (file != NULL, -2); params = request->protocol_data; @@ -1400,7 +1409,6 @@ g_return_val_if_fail (request != NULL, -2); g_return_val_if_fail (request->protonum == GFTP_SSHV2_NUM, -2); - g_return_val_if_fail (request->datafd != NULL, -2); g_return_val_if_fail (newdir != NULL, -2); params = request->protocol_data; @@ -1459,7 +1467,6 @@ g_return_val_if_fail (request != NULL, -2); g_return_val_if_fail (request->protonum == GFTP_SSHV2_NUM, -2); - g_return_val_if_fail (request->datafd != NULL, -2); g_return_val_if_fail (oldname != NULL, -2); g_return_val_if_fail (newname != NULL, -2); @@ -1531,7 +1538,6 @@ g_return_val_if_fail (request != NULL, -2); g_return_val_if_fail (request->protonum == GFTP_SSHV2_NUM, -2); - g_return_val_if_fail (request->datafd != NULL, -2); g_return_val_if_fail (file != NULL, -2); params = request->protocol_data; @@ -1599,7 +1605,6 @@ g_return_val_if_fail (request != NULL, -2); g_return_val_if_fail (request->protonum == GFTP_SSHV2_NUM, -2); - g_return_val_if_fail (request->datafd != NULL, -2); g_return_val_if_fail (file != NULL, -2); params = request->protocol_data;
