diff --git a/lib/getpass.c b/lib/getpass.c
index d18f6d79f58a797c747105640b421ed685793e25..245782027083ad4ba010dc6955546259f963c0a1 100644
--- a/lib/getpass.c
+++ b/lib/getpass.c
@@ -5,7 +5,7 @@
  *
  *   1) This header remain in tact.
  *   2) The prototype for getpass is not changed from:
- *         char *getpass(const char *prompt)
+ *      int getpass_r(const char *prompt, char *buffer, int buflen)
  *   3) This source code is not used outside of this(getpass.c) file.
  *   3) Any changes to this(getpass.c) source code are made publicly available.
  *
@@ -68,7 +68,7 @@
 #  define perror(x) fprintf(stderr, "Error in: %s\n", x)
 #endif
 
-int my_getpass(void *client, const char *prompt, char *buffer, int buflen)
+int getpass_r(const char *prompt, char *buffer, int buflen)
 {
   FILE *infp;
   FILE *outfp;
@@ -181,7 +181,7 @@ int my_getpass(void *client, const char *prompt, char *buffer, int buflen)
 #else /* WIN32 */
 #include <stdio.h>
 #include <conio.h>
-int my_getpass(void *client, const char *prompt, char *buffer, int buflen)
+int getpass_r(const char *prompt, char *buffer, int buflen)
 {
   int i;
   printf("%s", prompt);
diff --git a/lib/getpass.h b/lib/getpass.h
index 1248030ee2afabd65294554b66e389e54afebd14..2f63e6db0ed5776e47ad720979f9f18134c37d42 100644
--- a/lib/getpass.h
+++ b/lib/getpass.h
@@ -3,6 +3,6 @@
 /*
  * Returning non-zero will abort the continued operation!
  */
-int my_getpass(void *client, char *prompt, char* buffer, int buflen );
+int getpass_r(char *prompt, char* buffer, int buflen );
 
 #endif
diff --git a/lib/url.c b/lib/url.c
index d1613ebd61e0982b4e744395cc5585f188775783..f3212901a9613d36fa580d045f0c3fc9af6eb7d7 100644
--- a/lib/url.c
+++ b/lib/url.c
@@ -264,6 +264,12 @@ CURLcode curl_close(CURL *curl)
   return CURLE_OK;
 }
 
+int my_getpass(void *clientp, char *prompt, char* buffer, int buflen )
+{
+  return getpass_r(prompt, buffer, buflen);
+}
+
+
 CURLcode curl_open(CURL **curl, char *url)
 {
   /* We don't yet support specifying the URL at this point */