*/
static CURLcode Curl_file(struct connectdata *, bool *done);
+static CURLcode Curl_file_done(struct connectdata *conn,
+ CURLcode status, bool premature);
/*
* FILE scheme handler.
return CURLE_OK;
}
-CURLcode Curl_file_done(struct connectdata *conn,
- CURLcode status, bool premature)
+static CURLcode Curl_file_done(struct connectdata *conn,
+ CURLcode status, bool premature)
{
struct FILEPROTO *file = conn->data->reqdata.proto.file;
(void)status; /* not used */
#ifndef CURL_DISABLE_FILE
extern const struct Curl_handler Curl_handler_file;
-CURLcode Curl_file_done(struct connectdata *, CURLcode, bool premature);
CURLcode Curl_file_connect(struct connectdata *);
#endif
#endif
static CURLcode Curl_ftp_doing(struct connectdata *conn,
bool *dophase_done);
static CURLcode Curl_ftp_setup_connection(struct connectdata * conn);
+#ifdef USE_SSL
static CURLcode Curl_ftps_setup_connection(struct connectdata * conn);
+#endif
/* easy-to-use macro: */
#define FTPSENDF(x,y,z) if ((result = Curl_ftpsendf(x,y,z)) != CURLE_OK) \
return CURLE_OK;
}
+#ifdef USE_SSL
static CURLcode Curl_ftps_setup_connection(struct connectdata * conn)
{
struct SessionHandle *data = conn->data;
conn->ssl[SECONDARYSOCKET].use = data->set.ftp_ssl != CURLUSESSL_CONTROL;
return Curl_ftp_setup_connection(conn);
}
+#endif
+
#endif /* CURL_DISABLE_FTP */
static void flush_cookies(struct SessionHandle *data, int cleanup);
#endif
+#ifdef CURL_DISABLE_VERBOSE_STRINGS
+#define verboseconnect(x) do { } while (0)
+#endif
+
#define MAX_PIPELINE_LENGTH 5
/*
* Dummy handler for undefined protocol schemes.
*/
-const struct Curl_handler Curl_handler_dummy = {
+static const struct Curl_handler Curl_handler_dummy = {
"<no protocol>", /* scheme */
NULL, /* setup_connection */
NULL, /* do_it */
0 /* protocol */
};
-#ifdef CURL_DISABLE_VERBOSE_STRINGS
-#define verboseconnect(x) do { } while (0)
-#endif
-
void Curl_safefree(void *ptr)
{
if(ptr)
result = setup_range(data);
if(result) {
- Curl_file_done(conn, result, FALSE);
+ if(conn->handler->done)
+ result = conn->handler->done(conn, result, FALSE);
return result;
}