Hans Leidekker : inetcomm: Add an implementation of IPOP3Transport:: CommandPASS.

Alexandre Julliard julliard at winehq.org
Tue Nov 4 07:29:30 CST 2008


Module: wine
Branch: master
Commit: d80d9b82f2f8cc1632faad863fa0bac97ae42fbc
URL:    http://source.winehq.org/git/wine.git/?a=commit;h=d80d9b82f2f8cc1632faad863fa0bac97ae42fbc

Author: Hans Leidekker <hans at codeweavers.com>
Date:   Tue Nov  4 11:34:44 2008 +0100

inetcomm: Add an implementation of IPOP3Transport::CommandPASS.

---

 dlls/inetcomm/pop3transport.c |   21 +++++++++++++++++++--
 1 files changed, 19 insertions(+), 2 deletions(-)

diff --git a/dlls/inetcomm/pop3transport.c b/dlls/inetcomm/pop3transport.c
index 6c9d8fa..afb4094 100644
--- a/dlls/inetcomm/pop3transport.c
+++ b/dlls/inetcomm/pop3transport.c
@@ -439,8 +439,25 @@ static HRESULT WINAPI POP3Transport_CommandUSER(IPOP3Transport *iface, LPSTR use
 
 static HRESULT WINAPI POP3Transport_CommandPASS(IPOP3Transport *iface, LPSTR password)
 {
-    FIXME("(%s)\n", password);
-    return E_NOTIMPL;
+    static char pass[] = "PASS ";
+    POP3Transport *This = (POP3Transport *)iface;
+    char *command;
+    int len;
+
+    TRACE("(%p)\n", password);
+
+    len = sizeof(pass) + strlen(password) + 2; /* "\r\n" */
+    command = HeapAlloc(GetProcessHeap(), 0, len);
+
+    strcpy(command, pass);
+    strcat(command, password);
+    strcat(command, "\r\n");
+
+    This->command = POP3_PASS;
+    InternetTransport_DoCommand(&This->InetTransport, command, POP3Transport_CallbackRecvPASSResp);
+
+    HeapFree(GetProcessHeap(), 0, command);
+    return S_OK;
 }
 
 static HRESULT WINAPI POP3Transport_CommandLIST(




More information about the wine-cvs mailing list