home *** CD-ROM | disk | FTP | other *** search
/ ftp.ncftp.com / ftp.ncftp.com.zip / ftp.ncftp.com / ncftp / older_versions / ncftp-3.2.2-src.tar.bz2 / ncftp-3.2.2-src.tar / ncftp-3.2.2 / libncftp / c_rename.c < prev    next >
C/C++ Source or Header  |  2005-01-01  |  901b  |  45 lines

  1. /* c_rename.c
  2.  *
  3.  * Copyright (c) 1996-2005 Mike Gleason, NcFTP Software.
  4.  * All rights reserved.
  5.  *
  6.  */
  7.  
  8. #include "syshdrs.h"
  9. #ifdef PRAGMA_HDRSTOP
  10. #    pragma hdrstop
  11. #endif
  12.  
  13. int
  14. FTPRename(const FTPCIPtr cip, const char *const oldname, const char *const newname)
  15. {
  16.     int result;
  17.  
  18.     if (cip == NULL)
  19.         return (kErrBadParameter);
  20.     if (strcmp(cip->magic, kLibraryMagic))
  21.         return (kErrBadMagic);
  22.     if ((oldname == NULL) || (oldname[0] == '\0'))
  23.         return (kErrBadParameter);
  24.     if ((newname == NULL) || (oldname[0] == '\0'))
  25.         return (kErrBadParameter);
  26.  
  27.     
  28.     result = FTPCmd(cip, "RNFR %s", oldname);
  29.     if (result < 0)
  30.         return (result);
  31.     if (result != 3) {
  32.         cip->errNo = kErrRenameFailed;
  33.         return (cip->errNo);
  34.     }
  35.     
  36.     result = FTPCmd(cip, "RNTO %s", newname);
  37.     if (result < 0)
  38.         return (result);
  39.     if (result != 2) {
  40.         cip->errNo = kErrRenameFailed;
  41.         return (cip->errNo);
  42.     }
  43.     return (kNoErr);
  44. }    /* FTPRename */
  45.