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

📄 pop3__client_8c-source.html

📁 Freescale mcu OpenTCP-1.0.4.doc.html.zip 文档
💻 HTML
📖 第 1 页 / 共 5 页
字号:
00450                                                 <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#a18">POP3C_RECEIVING_HEADER</a>) {00451                                                 00452                                                         <span class="keywordflow">if</span>( ch == <span class="charliteral">'\r'</span>) {00453                                                                 pop3_client.<a class="code" href="structpop3c__struct.html#m11">charsinheaderbuf</a> = 0;00454                                                                 <span class="keywordflow">continue</span>;00455                                                         }00456                                                 00457                                                         <span class="keywordflow">if</span>( ch == <span class="charliteral">'\n'</span>) {00458                                                                 pop3_client.<a class="code" href="structpop3c__struct.html#m11">charsinheaderbuf</a> = 0;00459                                                                 <span class="keywordflow">continue</span>;00460                                                         }00461                                                 00462                                                         <span class="keywordflow">if</span>( ch == <span class="charliteral">' '</span>)          <span class="comment">/* Remove spaces        */</span>00463                                                                 <span class="keywordflow">continue</span>;00464                                         00465                                                         <span class="comment">/* Buffer already full for this line?   */</span>00466                                         00467                                                         <span class="keywordflow">if</span>(pop3_client.<a class="code" href="structpop3c__struct.html#m11">charsinheaderbuf</a> &gt; 8)00468                                                                 <span class="keywordflow">continue</span>;00469                                         00470                                                         <span class="comment">/* End of header? (parsing of that is not absolutely correct)   */</span>00471                                                         <span class="comment">/* We detect it from CRLF. or LFCR. or CR. or LF.                               */</span>00472                                                         <span class="comment">/* the correct indication being CRLF.CRLF                                               */</span>00473                                                         00474                                                         <span class="keywordflow">if</span>( (ch == <span class="charliteral">'.'</span>) &amp;&amp; (pop3_client.<a class="code" href="structpop3c__struct.html#m11">charsinheaderbuf</a> == 0) ) {00475                                                                 <span class="comment">/* Remove CRLF.CRLF from header length  */</span>00476                                                                 00477                                                                 <span class="keywordflow">if</span>( pop3_client.<a class="code" href="structpop3c__struct.html#m9">curmsghlen</a> &gt;= 5 )00478                                                                         pop3_client.<a class="code" href="structpop3c__struct.html#m9">curmsghlen</a> -= 5;00479                                                                 00480                                                                 pop3c_changestate(<a class="code" href="pop3__client_8h.html#a21">POP3C_TOP0_GET</a>);00481                                                                 <span class="keywordflow">break</span>;00482                                                         }00483                                         00484                                         00485                                                         ch = tolower(ch);00486                                                 00487                                                         pop3_client.<a class="code" href="structpop3c__struct.html#m10">headerbuf</a>[pop3_client.<a class="code" href="structpop3c__struct.html#m11">charsinheaderbuf</a>] = ch;00488                                                         pop3_client.<a class="code" href="structpop3c__struct.html#m11">charsinheaderbuf</a>++;00489                                                         pop3_client.<a class="code" href="structpop3c__struct.html#m10">headerbuf</a>[pop3_client.<a class="code" href="structpop3c__struct.html#m11">charsinheaderbuf</a>] = <span class="charliteral">'\0'</span>;00490                                                 00491                                                         <span class="comment">/* Is it 'from:' ?      */</span>00492                                                 00493                                                         <span class="keywordflow">if</span>(bufsearch(&amp;pop3_client.<a class="code" href="structpop3c__struct.html#m10">headerbuf</a>[0],pop3_client.<a class="code" href="structpop3c__struct.html#m11">charsinheaderbuf</a>,<span class="stringliteral">"from:"</span>) == 0) {00494                                                                 <span class="comment">/* Continue imidiately to read sender   */</span>00495                                                         00496                                                                 pop3_client.<a class="code" href="structpop3c__struct.html#m12">from</a>[0] = <span class="charliteral">'\0'</span>;00497                                                                 pop3_client.<a class="code" href="structpop3c__struct.html#m11">charsinheaderbuf</a> = 0;00498                                                                 pop3c_changestate(<a class="code" href="pop3__client_8h.html#a19">POP3C_RECEIVING_HDR_FROM</a>);    00499                                                                 <span class="keywordflow">continue</span>;00500                                                         }00501                                                 00502                                                         <span class="comment">/* Is it 'subject:' ?   */</span>00503                                                 00504                                                         <span class="keywordflow">if</span>(bufsearch(&amp;pop3_client.<a class="code" href="structpop3c__struct.html#m10">headerbuf</a>[0],pop3_client.<a class="code" href="structpop3c__struct.html#m11">charsinheaderbuf</a>,<span class="stringliteral">"subject:"</span>) == 0) {00505                                                                 <span class="comment">/* Continue imidiately to read subject  */</span>00506                                                                         00507                                                                 pop3_client.<a class="code" href="structpop3c__struct.html#m13">subject</a>[0] = <span class="charliteral">'\0'</span>;00508                                                                 pop3_client.<a class="code" href="structpop3c__struct.html#m11">charsinheaderbuf</a> = 0;00509                                                                 pop3c_changestate(<a class="code" href="pop3__client_8h.html#a20">POP3C_RECEIVING_HDR_SUBJ</a>);    00510                                                                 <span class="keywordflow">continue</span>;00511                                                         }00512                                                 00513                                                 }       <span class="comment">/* of RECEIVING_HEADER  */</span>00514                                                 00515                                                 00516                                                 <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#a19">POP3C_RECEIVING_HDR_FROM</a>) {00517                                                         <span class="keywordflow">if</span>( ch == <span class="charliteral">' '</span>){         <span class="comment">/* Remove spaces        */</span>00518                                                                 <span class="keywordflow">if</span>(pop3_client.<a class="code" href="structpop3c__struct.html#m11">charsinheaderbuf</a> == 0)00519                                                                         <span class="keywordflow">continue</span>;00520                                                         }00521                                                         00522                                                         <span class="keywordflow">if</span>( ch == <span class="charliteral">'\r'</span>) {00523                                                                 pop3_client.<a class="code" href="structpop3c__struct.html#m11">charsinheaderbuf</a> = 0;00524                                                                 pop3c_changestate(<a class="code" href="pop3__client_8h.html#a18">POP3C_RECEIVING_HEADER</a>);00525                                                                 <span class="keywordflow">continue</span>;00526                                                         }00527                                                         00528                                                         <span class="keywordflow">if</span>( ch == <span class="charliteral">'\n'</span>) {00529                                                                 pop3_client.<a class="code" href="structpop3c__struct.html#m11">charsinheaderbuf</a> = 0;00530                                                                 pop3c_changestate(<a class="code" href="pop3__client_8h.html#a18">POP3C_RECEIVING_HEADER</a>);00531                                                                 <span class="keywordflow">continue</span>;00532                                                         }00533                                                         00534                                                         <span class="comment">/* Store it     */</span>00535                                                         00536                                                         pop3_client.<a class="code" href="structpop3c__struct.html#m12">from</a>[pop3_client.<a class="code" href="structpop3c__struct.html#m11">charsinheaderbuf</a>] = ch;00537                                                         pop3_client.<a class="code" href="structpop3c__struct.html#m11">charsinheaderbuf</a>++;00538                                                         pop3_client.<a class="code" href="structpop3c__struct.html#m12">from</a>[pop3_client.<a class="code" href="structpop3c__struct.html#m11">charsinheaderbuf</a>] = <span class="charliteral">'\0'</span>;00539                                                         00540                                                         <span class="keywordflow">if</span>(pop3_client.<a class="code" href="structpop3c__struct.html#m11">charsinheaderbuf</a> &gt;= <a class="code" href="pop3__client_8h.html#a0">POP3C_SENDERMAXLEN</a>) {00541                                                                 <span class="comment">/* The buffer is exeeded        */</span>00542                                                                 <span class="comment">/* Mark it corrupted            */</span>00543                                                                 00544                                                                 pop3_client.<a class="code" href="structpop3c__struct.html#m12">from</a>[0] = <span class="charliteral">'\0'</span>;00545                                                                 pop3c_changestate(<a class="code" href="pop3__client_8h.html#a18">POP3C_RECEIVING_HEADER</a>);00546                                                                 <span class="keywordflow">continue</span>;00547                                                         }       00548                                                                                                 00549                                                 }       <span class="comment">/* of RECEIVING_HDR_FROM        */</span>00550                                                 00551                                                 00552                                                 <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#a20">POP3C_RECEIVING_HDR_SUBJ</a>) {00553                                                         <span class="keywordflow">if</span>( ch == <span class="charliteral">' '</span>){         <span class="comment">/* Remove spaces        */</span>00554                                                                 <span class="keywordflow">if</span>(pop3_client.<a class="code" href="structpop3c__struct.html#m11">charsinheaderbuf</a> == 0)00555                                                                         <span class="keywordflow">continue</span>;00556                                                         }00557                                                         00558                                                         <span class="keywordflow">if</span>( ch == <span class="charliteral">'\r'</span>) {00559                                                                 pop3_client.<a class="code" href="structpop3c__struct.html#m11">charsinheaderbuf</a> = 0;00560                                                                 pop3c_changestate(<a class="code" href="pop3__client_8h.html#a18">POP3C_RECEIVING_HEADER</a>);00561                                                                 <span class="keywordflow">continue</span>;00562                                                         }00563                                                         00564                                                         <span class="keywordflow">if</span>( ch == <span class="charliteral">'\n'</span>) {00565                                                                 pop3_client.<a class="code" href="structpop3c__struct.html#m11">charsinheaderbuf</a> = 0;00566                                                                 pop3c_changestate(<a class="code" href="pop3__client_8h.html#a18">POP3C_RECEIVING_HEADER</a>);00567                                                                 <span class="keywordflow">continue</span>;00568                                                         }00569                                                         00570                                                         <span class="comment">/* Store it     */</span>00571                                                         00572                                                         pop3_client.<a class="code" href="structpop3c__struct.html#m13">subject</a>[pop3_client.<a class="code" href="structpop3c__struct.html#m11">charsinheaderbuf</a>] = ch;00573                                                         pop3_client.<a class="code" href="structpop3c__struct.html#m11">charsinheaderbuf</a>++;00574                                                         pop3_client.<a class="code" href="structpop3c__struct.html#m13">subject</a>[pop3_client.<a class="code" href="structpop3c__struct.html#m11">charsinheaderbuf</a>] = <span class="charliteral">'\0'</span>;00575                                                         00576                                                         <span class="keywordflow">if</span>(pop3_client.<a class="code" href="structpop3c__struct.html#m11">charsinheaderbuf</a> &gt;= <a class="code" href="pop3__client_8h.html#a1">POP3C_SUBJECTMAXLEN</a>) {00577                                                                 <span class="comment">/* The buffer is exeeded        */</span>00578                                                                 <span class="comment">/* Mark it corrupted            */</span>00579                                                                 00580                                                                 pop3_client.<a class="code" href="structpop3c__struct.html#m13">subject</a>[0] = <span class="charliteral">'\0'</span>;00581                                                                 pop3c_changestate(<a class="code" href="pop3__client_8h.html#a18">POP3C_RECEIVING_HEADER</a>);00582                                                                 <span class="keywordflow">continue</span>;00583                                                         }       

⌨️ 快捷键说明

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