diff --git a/docs/examples/ftpgetresp.c b/docs/examples/ftpgetresp.c
new file mode 100644
index 0000000000000000000000000000000000000000..eb56e19d271a0357f0020d10b9e12fa3333d9199
--- /dev/null
+++ b/docs/examples/ftpgetresp.c
@@ -0,0 +1,61 @@
+/*****************************************************************************
+ *                                  _   _ ____  _     
+ *  Project                     ___| | | |  _ \| |    
+ *                             / __| | | | |_) | |    
+ *                            | (__| |_| |  _ <| |___ 
+ *                             \___|\___/|_| \_\_____|
+ *
+ * $Id$
+ */
+
+#include <stdio.h>
+
+#include <curl/curl.h>
+#include <curl/types.h>
+#include <curl/easy.h>
+
+/*
+ * Similar to ftpget.c but this also stores the received response-lines
+ * in a separate file using our own callback!
+ *
+ * This functionality was introduced in libcurl 7.9.3.
+ */
+
+size_t
+write_response(void *ptr, size_t size, size_t nmemb, void *data)
+{
+  FILE *writehere = (FILE *)data;
+  return fwrite(ptr, size, nmemb, writehere);
+}
+
+int main(int argc, char **argv)
+{
+  CURL *curl;
+  CURLcode res;
+  FILE *ftpfile;
+  FILE *respfile;
+  
+  /* local file name to store the file as */
+  ftpfile = fopen("ftp-list", "wb"); /* b is binary, needed on win32 */
+
+  /* local file name to store the FTP server's response lines in */
+  respfile = fopen("ftp-responses", "wb"); /* b is binary, needed on win32 */
+
+  curl = curl_easy_init();
+  if(curl) {
+    /* Get a file listing from sunet */
+    curl_easy_setopt(curl, CURLOPT_URL, "ftp://ftp.sunet.se/");
+    curl_easy_setopt(curl, CURLOPT_FILE, ftpfile);
+    curl_easy_setopt(curl, CURLOPT_HEADERFUNCTION, write_response);
+    curl_easy_setopt(curl, CURLOPT_WRITEHEADER, respfile);
+    res = curl_easy_perform(curl);
+
+    /* always cleanup */
+    curl_easy_cleanup(curl);
+  }
+
+  fclose(ftpfile); /* close the local file */
+  fclose(respfile); /* close the response file */
+
+  return 0;
+}
diff --git a/include/curl/curl.h b/include/curl/curl.h
index 9059d14921d505326eb16b742f12c020cbe2d55c..264523e7f62ed70dfe69bee64ce1a403a415f5b8 100644
--- a/include/curl/curl.h
+++ b/include/curl/curl.h
@@ -613,8 +613,8 @@ CURLcode curl_global_init(long flags);
 void curl_global_cleanup(void);
 
 /* This is the version number */
-#define LIBCURL_VERSION "7.9.2"
-#define LIBCURL_VERSION_NUM 0x070902
+#define LIBCURL_VERSION "7.9.3-pre1"
+#define LIBCURL_VERSION_NUM 0x070903
 
 /* linked-list structure for the CURLOPT_QUOTE option (and other) */
 struct curl_slist {
diff --git a/src/version.h b/src/version.h
index 5e6c210c55f618a18b3e9e3634119602c4d690f4..3af18d8a8b961a7265d342071e934fa486ac595b 100644
--- a/src/version.h
+++ b/src/version.h
@@ -1,3 +1,3 @@
 #define CURL_NAME "curl"
-#define CURL_VERSION "7.9.2"
+#define CURL_VERSION "7.9.3-pre1"
 #define CURL_ID CURL_NAME " " CURL_VERSION " (" OS ") "