Commit b5739b3a authored by Daniel Stenberg's avatar Daniel Stenberg
Browse files

document time fixes

parent 86d4488c
Loading
Loading
Loading
Loading
+22 −3
Original line number Diff line number Diff line
@@ -659,9 +659,9 @@ CURLcode _ftp(struct connectdata *conn)
    }
  }

  if(data->bits.get_filetime) {
  if(data->bits.get_filetime && ftp->file) {
    /* we have requested to get the modified-time of the file, this is yet
       again a grey area the MDTM is not kosher RFC959 */
       again a grey area as the MDTM is not kosher RFC959 */
    ftpsendf(data->firstsocket, conn, "MDTM %s", ftp->file);

    nread = GetLastResponse(data->firstsocket, buf, conn, &ftpcode);
@@ -725,10 +725,29 @@ CURLcode _ftp(struct connectdata *conn)
    /* get the size from the ascii string: */
    filesize = atoi(buf+4);

    sprintf(buf, "Content-Length: %d\n", filesize);
    sprintf(buf, "Content-Length: %d\r\n", filesize);
    result = client_write(data, CLIENTWRITE_BOTH, buf, 0);
    if(result)
      return result;

#ifdef HAVE_STRFTIME
    if(data->bits.get_filetime && data->progress.filetime) {
      struct tm *tm;
#ifdef HAVE_LOCALTIME_R
      struct tm buffer;
      tm = (struct tm *)localtime_r(&data->progress.filetime, &buffer);
#else
      tm = localtime(&data->progress.filetime);
#endif
      /* format: "Tue, 15 Nov 1994 12:45:26 GMT" */
      strftime(buf, BUFSIZE-1, "Last-Modified: %a, %d %b %Y %H:%M:%S %Z\r\n",
               tm);
      result = client_write(data, CLIENTWRITE_BOTH, buf, 0);
      if(result)
        return result;
    }
#endif

    return CURLE_OK;
  }

+3 −0
Original line number Diff line number Diff line
@@ -84,6 +84,9 @@ CURLcode curl_getinfo(CURL *curl, CURLINFO info, ...)
  case CURLINFO_HTTP_CODE:
    *param_longp = data->progress.httpcode;
    break;
  case CURLINFO_FILETIME:
    *param_longp = data->progress.filetime;
    break;
  case CURLINFO_HEADER_SIZE:
    *param_longp = data->header_size;
    break;
+1 −1
Original line number Diff line number Diff line
@@ -395,7 +395,7 @@ _Transfer(struct connectdata *c_conn)
              }
              else if(strnequal("Last-Modified:", p,
                                strlen("Last-Modified:")) &&
                      data->timecondition) {
                      (data->timecondition || data->bits.get_filetime) ) {
                time_t secs=time(NULL);
                timeofdoc = curl_getdate(p+strlen("Last-Modified:"), &secs);
                if(data->bits.get_filetime)
+3 −0
Original line number Diff line number Diff line
@@ -365,6 +365,9 @@ CURLcode curl_setopt(CURL *curl, CURLoption option, ...)
  case CURLOPT_POST:
    data->bits.http_post = va_arg(param, long)?TRUE:FALSE;
    break;
  case CURLOPT_FILETIME:
    data->bits.get_filetime = va_arg(param, long)?TRUE:FALSE;
    break;
  case CURLOPT_FTPLISTONLY:
    data->bits.ftp_list_only = va_arg(param, long)?TRUE:FALSE;
    break;