diff options
| -rw-r--r-- | src/HTTP_Common.c | 36 |
1 files changed, 15 insertions, 21 deletions
diff --git a/src/HTTP_Common.c b/src/HTTP_Common.c index edf68f9..358da91 100644 --- a/src/HTTP_Common.c +++ b/src/HTTP_Common.c @@ -137,27 +137,21 @@ void http_deleteSPHT(uint32 *offset, char* data, uint32 data_len) ***********************************************************/ void http_deleteSPHTCRLFAtLast(uint32 *del_data_len, char* data, uint32 data_len) { - if(data==NULL||data_len==0) return ; - *del_data_len = data_len - 1; - if(0==*del_data_len) - { - if(HTTP_CR==*(data+*del_data_len) || HTTP_HT==*(data+*del_data_len) || - HTTP_SP==*(data+*del_data_len) || HTTP_LF==*(data+*del_data_len)) - return ; - } - while((int)*del_data_len>=0) - { - if(HTTP_CR!=*(data+*del_data_len) && HTTP_HT!=*(data+*del_data_len) && - HTTP_SP!=*(data+*del_data_len) && HTTP_LF!=*(data+*del_data_len)) - break; - if(HTTP_CR==*(data+*del_data_len) || HTTP_HT==*(data+*del_data_len) || - HTTP_SP==*(data+*del_data_len) || HTTP_LF==*(data+*del_data_len)) - (*del_data_len)--; - - if((*del_data_len)<=0) - break; - } - (*del_data_len)++; + if (data == NULL || data_len == 0 || del_data_len == NULL) { + return; + } + + // ��ʼ��Ҫɾ���ij���Ϊ���ݳ��� + *del_data_len = data_len; + + // ������ĩβ��ǰ���ҷǿհ��ַ��ͻ��з� + while (*del_data_len > 0 && + (data[*del_data_len - 1] == HTTP_CR || + data[*del_data_len - 1] == HTTP_HT || + data[*del_data_len - 1] == HTTP_SP || + data[*del_data_len - 1] == HTTP_LF)) { + (*del_data_len)--; + } } /********************************************************** |
