Alexandre Julliard : inetcomm: Only set the command type when the command expects a reply.

Alexandre Julliard julliard at winehq.org
Mon Jun 17 14:07:47 CDT 2013


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

Author: Alexandre Julliard <julliard at winehq.org>
Date:   Mon Jun 17 12:47:18 2013 +0200

inetcomm: Only set the command type when the command expects a reply.

---

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

diff --git a/dlls/inetcomm/pop3transport.c b/dlls/inetcomm/pop3transport.c
index bdae830..d275f21 100644
--- a/dlls/inetcomm/pop3transport.c
+++ b/dlls/inetcomm/pop3transport.c
@@ -311,11 +311,10 @@ static HRESULT parse_top_response(POP3Transport *This, POP3TOP *top)
     }
 }
 
-static void init_parser(POP3Transport *This, POP3COMMAND command, POP3CMDTYPE type)
+static void init_parser(POP3Transport *This, POP3COMMAND command)
 {
     This->state = STATE_NONE;
     This->command = command;
-    This->type = type;
 }
 
 static HRESULT POP3Transport_ParseResponse(POP3Transport *This, char *pszResponse, POP3RESPONSE *pResponse)
@@ -659,7 +658,7 @@ static void POP3Transport_CallbackProcessUSERResp(IInternetTransport *iface, cha
     strcat(command, This->InetTransport.ServerInfo.szPassword);
     strcat(command, "\r\n");
 
-    init_parser(This, POP3_PASS, POP3_NONE);
+    init_parser(This, POP3_PASS);
 
     InternetTransport_DoCommand(&This->InetTransport, command, POP3Transport_CallbackRecvPASSResp);
     HeapFree(GetProcessHeap(), 0, command);
@@ -800,7 +799,7 @@ static HRESULT WINAPI POP3Transport_Connect(IPOP3Transport *iface,
     if (FAILED(hr))
         return hr;
 
-    init_parser(This, POP3_USER, POP3_NONE);
+    init_parser(This, POP3_USER);
     return InternetTransport_ReadLine(&This->InetTransport, POP3Transport_CallbackSendUSERCmd);
 }
 
@@ -885,7 +884,7 @@ static HRESULT WINAPI POP3Transport_CommandUSER(IPOP3Transport *iface, LPSTR use
     strcat(command, username);
     strcat(command, "\r\n");
 
-    init_parser(This, POP3_USER, POP3_NONE);
+    init_parser(This, POP3_USER);
     InternetTransport_DoCommand(&This->InetTransport, command, POP3Transport_CallbackRecvUSERResp);
 
     HeapFree(GetProcessHeap(), 0, command);
@@ -908,7 +907,7 @@ static HRESULT WINAPI POP3Transport_CommandPASS(IPOP3Transport *iface, LPSTR pas
     strcat(command, password);
     strcat(command, "\r\n");
 
-    init_parser(This, POP3_PASS, POP3_NONE);
+    init_parser(This, POP3_PASS);
     InternetTransport_DoCommand(&This->InetTransport, command, POP3Transport_CallbackRecvPASSResp);
 
     HeapFree(GetProcessHeap(), 0, command);
@@ -934,7 +933,8 @@ static HRESULT WINAPI POP3Transport_CommandLIST(
     }
     else command = list_all;
 
-    init_parser(This, POP3_LIST, cmdtype);
+    init_parser(This, POP3_LIST);
+    This->type = cmdtype;
     InternetTransport_DoCommand(&This->InetTransport, command, POP3Transport_CallbackRecvLISTResp);
 
     if (dwPopId) HeapFree(GetProcessHeap(), 0, command);
@@ -956,7 +956,8 @@ static HRESULT WINAPI POP3Transport_CommandTOP(
     sprintf(command, top, dwPopId, cPreviewLines);
 
     This->preview_lines = cPreviewLines;
-    init_parser(This, POP3_TOP, cmdtype);
+    init_parser(This, POP3_TOP);
+    This->type = cmdtype;
     InternetTransport_DoCommand(&This->InetTransport, command, POP3Transport_CallbackRecvTOPResp);
 
     HeapFree(GetProcessHeap(), 0, command);
@@ -972,7 +973,7 @@ static HRESULT WINAPI POP3Transport_CommandQUIT(IPOP3Transport *iface)
 
     InternetTransport_ChangeStatus(&This->InetTransport, IXP_DISCONNECTING);
 
-    init_parser(This, POP3_QUIT, POP3_NONE);
+    init_parser(This, POP3_QUIT);
     return InternetTransport_DoCommand(&This->InetTransport, command, POP3Transport_CallbackRecvQUITResp);
 }
 
@@ -983,7 +984,7 @@ static HRESULT WINAPI POP3Transport_CommandSTAT(IPOP3Transport *iface)
 
     TRACE("\n");
 
-    init_parser(This, POP3_STAT, POP3_NONE);
+    init_parser(This, POP3_STAT);
     InternetTransport_DoCommand(&This->InetTransport, stat, POP3Transport_CallbackRecvSTATResp);
     return S_OK;
 }
@@ -995,7 +996,7 @@ static HRESULT WINAPI POP3Transport_CommandNOOP(IPOP3Transport *iface)
 
     TRACE("\n");
 
-    init_parser(This, POP3_NOOP, POP3_NONE);
+    init_parser(This, POP3_NOOP);
     InternetTransport_DoCommand(&This->InetTransport, noop, POP3Transport_CallbackRecvNOOPResp);
     return S_OK;
 }
@@ -1007,7 +1008,7 @@ static HRESULT WINAPI POP3Transport_CommandRSET(IPOP3Transport *iface)
 
     TRACE("\n");
 
-    init_parser(This, POP3_RSET, POP3_NONE);
+    init_parser(This, POP3_RSET);
     InternetTransport_DoCommand(&This->InetTransport, rset, POP3Transport_CallbackRecvRSETResp);
     return S_OK;
 }
@@ -1031,7 +1032,8 @@ static HRESULT WINAPI POP3Transport_CommandUIDL(
     }
     else command = uidl_all;
 
-    init_parser(This, POP3_UIDL, cmdtype);
+    init_parser(This, POP3_UIDL);
+    This->type = cmdtype;
     InternetTransport_DoCommand(&This->InetTransport, command, POP3Transport_CallbackRecvUIDLResp);
 
     if (dwPopId) HeapFree(GetProcessHeap(), 0, command);
@@ -1052,7 +1054,8 @@ static HRESULT WINAPI POP3Transport_CommandDELE(
     if (!(command = HeapAlloc(GetProcessHeap(), 0, len))) return S_FALSE;
     sprintf(command, dele, dwPopId);
 
-    init_parser(This, POP3_DELE, cmdtype);
+    init_parser(This, POP3_DELE);
+    This->type = cmdtype;
     InternetTransport_DoCommand(&This->InetTransport, command, POP3Transport_CallbackRecvDELEResp);
 
     HeapFree(GetProcessHeap(), 0, command);
@@ -1073,7 +1076,8 @@ static HRESULT WINAPI POP3Transport_CommandRETR(
     if (!(command = HeapAlloc(GetProcessHeap(), 0, len))) return S_FALSE;
     sprintf(command, retr, dwPopId);
 
-    init_parser(This, POP3_RETR, cmdtype);
+    init_parser(This, POP3_RETR);
+    This->type = cmdtype;
     InternetTransport_DoCommand(&This->InetTransport, command, POP3Transport_CallbackRecvRETRResp);
 
     HeapFree(GetProcessHeap(), 0, command);




More information about the wine-cvs mailing list