Develop and Download Open Source Software

Browse Subversion Repository

Annotation of /tags/REL-2.2/ftp_rename.c

Parent Directory Parent Directory | Revision Log Revision Log


Revision 50 - (hide annotations) (download) (as text)
Wed Dec 2 15:13:30 2009 UTC (14 years, 4 months ago) by hirohitohigashi
Original Path: trunk/ftp_rename.c
File MIME type: text/x-csrc
File size: 2737 byte(s)
add error check
1 hirohitohigashi 24 /*
2     liboftp: this is an FTP library to simplify the work to a Developer
3     who want to work with FTP servers (RFC 959).
4    
5     Copyright (c) 2009 hirohito higashi. All rights reserved.
6     This file is distributed under BSD license.
7     */
8    
9    
10     /***** Feature test switches ************************************************/
11     /***** System headers *******************************************************/
12     #include <stdio.h>
13    
14    
15     /***** Local headers ********************************************************/
16     #include "liboftp.h"
17     #include "sub.h"
18    
19    
20     /***** Constat values *******************************************************/
21     /***** Macros ***************************************************************/
22     /***** Typedefs *************************************************************/
23     /***** Function prototypes **************************************************/
24     /***** Local variables ******************************************************/
25     /***** Global variables *****************************************************/
26     /***** Signal catching functions ********************************************/
27     /***** Local functions ******************************************************/
28     /***** Global functions *****************************************************/
29    
30     /****************************************************************************/
31     /*! ������������������������
32     *
33     *@param ftp LIBOFTP���������������������
34     *@param from ���������������������
35     *@param to ������������������������
36 hirohitohigashi 30 *@retval int ������������������
37 hirohitohigashi 24 *@note
38     */
39     int ftp_rename( LIBOFTP *ftp, const char *from, const char *to )
40     {
41     char str1[512];
42 hirohitohigashi 29 int res;
43 hirohitohigashi 24
44 hirohitohigashi 50 if( ftp->socket < 0 ) return LIBOFTP_ERROR;
45    
46 hirohitohigashi 24 /*
47     * send RNFR command
48     */
49     snprintf( str1, sizeof(str1)-1, "RNFR %s\r\n", from );
50     if( ftp_send_command( ftp, str1 ) < 0 ) {
51 hirohitohigashi 29 DEBUGPRINT1( "RNFR command sending error. %s\n", str1 );
52     return LIBOFTP_ERROR_OS;
53 hirohitohigashi 24 }
54    
55 hirohitohigashi 29 res = ftp_receive_response( ftp, ftp->error_message, sizeof(ftp->error_message)-1 );
56     if( res != 350 ) { /* 350: Requested file action pending further information */
57     DEBUGPRINT1( "RNFR command response error. %d\n", res );
58     return res < 0? res: LIBOFTP_ERROR_PROTOCOL;
59 hirohitohigashi 24 }
60    
61     /*
62     * send RNTO command
63     */
64     snprintf( str1, sizeof(str1)-1, "RNTO %s\r\n", to );
65     if( ftp_send_command( ftp, str1 ) < 0 ) {
66     DEBUGPRINT1( "rename: RNTO command sending error. %s\n", str1 );
67 hirohitohigashi 29 return LIBOFTP_ERROR_OS;
68 hirohitohigashi 24 }
69    
70 hirohitohigashi 29 res = ftp_receive_response( ftp, ftp->error_message, sizeof(ftp->error_message)-1 );
71     if( res != 250 ) { /* 250: Requested file action okay, completed. */
72     DEBUGPRINT1( "RNTO command response error. %d\n", res );
73     return res < 0? res: LIBOFTP_ERROR_PROTOCOL;
74 hirohitohigashi 24 }
75    
76 hirohitohigashi 29 return LIBOFTP_NOERROR;
77 hirohitohigashi 24 }

Back to OSDN">Back to OSDN
ViewVC Help
Powered by ViewVC 1.1.26