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 / u_miscdebug.c < prev    next >
C/C++ Source or Header  |  2005-01-01  |  1KB  |  56 lines

  1. /* u_miscdebug.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. void
  14. FTPGetDateStr(time_t t, const char *fmt, char *const ltstr1, const size_t ltstr1size, char *const gtstr1, const size_t gtstr1size)
  15. {
  16.     char ltstr[64];
  17.     char gtstr[64];
  18.     struct tm *ltp;
  19.     struct tm *gtp;
  20.  
  21.     if (fmt == NULL) {
  22.         /* Default to RFC 822 date format, with the
  23.          * addition of the textual timezone,
  24.          * i.e. RFC822+%Z.
  25.          */
  26.         fmt = "%a, %d %b %Y %H:%M:%S %z %Z";
  27.     }
  28.  
  29.     memset(gtstr, 0, sizeof(gtstr));
  30.     memset(ltstr, 0, sizeof(ltstr));
  31.     if ((ltstr1 != NULL) && (ltstr1size != 0))
  32.         memset(ltstr1, 0, ltstr1size);
  33.     if ((gtstr1 != NULL) && (gtstr1size != 0))
  34.         memset(gtstr1, 0, gtstr1size);
  35.  
  36.     if (t == 0) {
  37.         (void) time(&t);
  38.         if ((t == 0) || (t == (time_t) -1)) {
  39.             /* Should never happen */
  40.             return;
  41.         }
  42.     }
  43.  
  44.     if ((gtp = gmtime(&t)) != NULL) {
  45.         strftime(gtstr, sizeof(gtstr) - 1, fmt, gtp);
  46.         if ((gtstr1 != NULL) && (gtstr1size != 0))
  47.             (void) Strncpy(gtstr1, gtstr, gtstr1size);
  48.     }
  49.  
  50.     if ((ltp = localtime(&t)) != NULL) {
  51.         strftime(ltstr, sizeof(ltstr) - 1, fmt, ltp);
  52.         if ((ltstr1 != NULL) && (ltstr1size != 0))
  53.             (void) Strncpy(ltstr1, ltstr, ltstr1size);
  54.     }
  55. }    /* FTPGetDateStr */
  56.