⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 pop3__client_8c-source.html

📁 Freescale mcu OpenTCP-1.0.4.doc.html.zip 文档
💻 HTML
📖 第 1 页 / 共 5 页
字号:
00584                                                                                                 00585                                                 }       <span class="comment">/* of RECEIVING_HDR_SUBJ        */</span>                                              00586                                                 00587                                         00588                                         }00589                                         00590 00591                                         <span class="keywordflow">break</span>;00592                                                                                         00593                                         00594                                 <span class="keywordflow">case</span> <a class="code" href="pop3__client_8h.html#a22">POP3C_RETR_SENT</a>:00595                                 00596                                         <span class="keywordflow">if</span>(cmd == POP3C_OK)     {00597                                                 DEBUGOUT(<span class="stringliteral">"RETR +OK by POP3 server\r\n"</span>);00598                                                 00599                                                 <span class="comment">/* Continue imidiately to receive message       */</span>00600                                                 00601                                                 pop3c_changestate(<a class="code" href="pop3__client_8h.html#a23">POP3C_RECEIVING_MSG_HEADER</a>);00602                                         00603                                         } <span class="keywordflow">else</span>00604                                                 <span class="keywordflow">break</span>;00605                                                 00606                                 <span class="keywordflow">case</span> <a class="code" href="pop3__client_8h.html#a23">POP3C_RECEIVING_MSG_HEADER</a>:        00607                                 00608                                         <span class="comment">/* Try to find empty row to detect the start of actual message  */</span>00609                                         00610                                         match = 0;00611                                         <a class="code" href="system_8h.html#a14">NETWORK_RECEIVE_INITIALIZE</a>(received_tcp_packet.buf_index);00612                                         00613                                         <span class="keywordflow">for</span>(i=0; i &lt; (UINT16)par1; i++) {                                       00614                                                 ch = <a class="code" href="system_8h.html#a9">RECEIVE_NETWORK_B</a>();00615                                                 00616                                                 <span class="keywordflow">if</span>(match == 0)  {00617                                                         <span class="keywordflow">if</span>( (ch == <span class="charliteral">'\r'</span>) || (ch == <span class="charliteral">'\n'</span>) )00618                                                                 match++;00619                                                         <span class="keywordflow">else</span>00620                                                                 match = 0;00621                                                         <span class="keywordflow">continue</span>;       00622                                                 }00623 00624                                                 <span class="keywordflow">if</span>(match == 1) {00625                                                         <span class="keywordflow">if</span>( (ch == <span class="charliteral">'\r'</span>) || (ch == <span class="charliteral">'\n'</span>))00626                                                                 match++;00627                                                         <span class="keywordflow">else</span>00628                                                                 match = 0;00629                                                         <span class="keywordflow">continue</span>;       00630                                                 }                                               00631                                                 00632                                                 <span class="keywordflow">if</span>(match == 2) {00633                                                         <span class="keywordflow">if</span>( (ch == <span class="charliteral">'\r'</span>) || (ch == <span class="charliteral">'\n'</span>))00634                                                                 match++;00635                                                         <span class="keywordflow">else</span>00636                                                                 match = 0;00637                                                         <span class="keywordflow">continue</span>;       00638                                                 }                       00639                                                 00640                                                 <span class="keywordflow">if</span>(match == 3) {00641                                                         <span class="keywordflow">if</span>( (ch == <span class="charliteral">'\r'</span>) || (ch == <span class="charliteral">'\n'</span>)) {00642                                                                 match++;00643                                                                 00644                                                                 <span class="comment">/* Continue to read the actual msg      */</span>00645                                                                 par1 -= (i + 1);00646                                                                 pop3c_changestate(<a class="code" href="pop3__client_8h.html#a24">POP3C_RECEIVING_MSG</a>);00647                                                                 <span class="keywordflow">break</span>;00648                                                         } <span class="keywordflow">else</span>00649                                                                 match = 0;00650                                                         <span class="keywordflow">continue</span>;       00651                                                 }                                               00652                                                                         00653                                         }00654                                         00655                                         <span class="comment">/* If we don't find the end of header we will timeout   */</span>00656                                         <span class="comment">/* on pop3c_run so no error handling here                               */</span>00657                                 00658                                         <span class="keywordflow">if</span>( pop3_client.<a class="code" href="structpop3c__struct.html#m0">state</a> != <a class="code" href="pop3__client_8h.html#a24">POP3C_RECEIVING_MSG</a>)00659                                                 <span class="keywordflow">break</span>;00660                                         00661                                         end_detect = 0; 00662                                         <span class="keywordflow">case</span> <a class="code" href="pop3__client_8h.html#a24">POP3C_RECEIVING_MSG</a>:00663                                         00664                                                 <span class="comment">/* Search is this packet end of msg and do not give     */</span>00665                                                 <span class="comment">/* CRLF.CRLF to application                                                     */</span>00666                                                 <span class="keywordflow">for</span>(i=0; i &lt; (UINT16)par1; i++) {00667                                                         ch = <a class="code" href="system_8h.html#a9">RECEIVE_NETWORK_B</a>();00668                                                         00669                                                         <a class="code" href="pop3c__callbacks_8c.html#a6">pop3c_data</a>(ch);00670                                                         00671                                                         <span class="keywordflow">if</span>( (ch == <span class="charliteral">'\r'</span>) &amp;&amp; (end_detect != 3))00672                                                                 end_detect = 0;00673                                                         00674                                                         00675                                                         <span class="keywordflow">if</span>( end_detect == 0 ) {00676                                                                 <span class="keywordflow">if</span>(ch == <span class="charliteral">'\r'</span>)00677                                                                         end_detect++;00678                                                                 <span class="keywordflow">else</span>00679                                                                         end_detect = 0;00680                                                                 00681                                                                 <span class="keywordflow">continue</span>;00682                                                         }00683                                                         00684                                                         <span class="keywordflow">if</span>( end_detect == 1 ){00685                                                                 <span class="keywordflow">if</span>(ch == <span class="charliteral">'\n'</span>)00686                                                                         end_detect++;00687                                                                 <span class="keywordflow">else</span>00688                                                                         end_detect = 0;00689                                                                 00690                                                                 <span class="keywordflow">continue</span>;00691                                                         }                                                       00692                                                         00693                                                         <span class="keywordflow">if</span>( end_detect == 2 ){00694                                                                 <span class="keywordflow">if</span>(ch == <span class="charliteral">'.'</span>)00695                                                                         end_detect++;00696                                                                 <span class="keywordflow">else</span>00697                                                                         end_detect = 0;00698                                                                 00699                                                                 <span class="keywordflow">continue</span>;00700                                                         }       00701                                                         00702                                                         <span class="keywordflow">if</span>( end_detect == 3 ){00703                                                                 <span class="keywordflow">if</span>(ch == <span class="charliteral">'\r'</span>)00704                                                                         end_detect++;00705                                                                 <span class="keywordflow">else</span>00706                                                                         end_detect = 0;00707                                                                 00708                                                                 <span class="keywordflow">continue</span>;00709                                                         }                                                                                                       00710                                                         00711                                                         <span class="keywordflow">if</span>( end_detect == 4 ){  00712                                                                 <span class="keywordflow">if</span>(ch == <span class="charliteral">'\n'</span>) {                                                                                                        00713                                                                         pop3c_changestate(<a class="code" href="pop3__client_8h.html#a25">POP3C_MESSAGE_RECEIVED</a>);00714                                                                         <span class="keywordflow">return</span>(1);00

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -