X-Git-Url: http://git.osdn.net/view?p=mimic%2FMiMicSDK.git;a=blobdiff_plain;f=lib%2Fsrc%2Fnet%2Fhttpd%2FNyLPC_cHttpRequestPrefixParser.c;fp=lib%2Fsrc%2Fnet%2Fhttpd%2FNyLPC_cHttpRequestPrefixParser.c;h=94e89265049e0c6dbc5707dc1a2f7be899264f35;hp=f0f8c1ccf29cc9dd9bc807ef7ef41da0814a5a33;hb=6f577ed92e46bc8bf0463a7330ff698ec75853f2;hpb=46823da6b6b38411dd4dc824f9ec8deeb1134d74 diff --git a/lib/src/net/httpd/NyLPC_cHttpRequestPrefixParser.c b/lib/src/net/httpd/NyLPC_cHttpRequestPrefixParser.c index f0f8c1c..94e8926 100644 --- a/lib/src/net/httpd/NyLPC_cHttpRequestPrefixParser.c +++ b/lib/src/net/httpd/NyLPC_cHttpRequestPrefixParser.c @@ -19,8 +19,8 @@ * along with this program. If not, see . * * For further information please contact. - * http://nyatla.jp/ - * or + * http://nyatla.jp/ + * or * *********************************************************************************/ #include "NyLPC_cHttpRequestPrefixParser.h" @@ -29,18 +29,18 @@ struct THttpHeaderPrefix{ - struct NyLPC_THttpBasicHeader super; - /** URL蓄積用のオブジェクト*/ - NyLPC_TcStr_t surl; - /** コールバック関数の成功/失敗を判定するフラグ*/ - NyLPC_TBool status; + struct NyLPC_THttpBasicHeader super; + /** URL蓄積用のオブジェクト*/ + NyLPC_TcStr_t surl; + /** コールバック関数の成功/失敗を判定するフラグ*/ + NyLPC_TBool status; }; const NyLPC_TChar* NyLPC_cHttpRequestPrefixParser_getUrlPrefix(const NyLPC_TcHttpRequestPrefixParser_t* i_inst) { - return i_inst->_url; + return i_inst->_url; } /** * URLハンドラ。 @@ -48,60 +48,60 @@ const NyLPC_TChar* NyLPC_cHttpRequestPrefixParser_getUrlPrefix(const NyLPC_TcHtt */ static NyLPC_TBool urlHandler(NyLPC_TcHttpBasicHeaderParser_t* i_inst,NyLPC_TChar i_c,struct NyLPC_THttpBasicHeader* o_out) { - struct THttpHeaderPrefix* s=(struct THttpHeaderPrefix*)o_out; + struct THttpHeaderPrefix* s=(struct THttpHeaderPrefix*)o_out; - //終端なら終わらせる。 - if(i_c=='\0'){ - s->status=NyLPC_TBool_TRUE; - return NyLPC_TBool_FALSE; - } - //容量がいっぱい->解析を終わらせる。 - if(NyLPC_cStr_capacity(&(s->surl))<1) - { - s->status=NyLPC_TBool_TRUE; - return NyLPC_TBool_FALSE; - } - NyLPC_cStr_put(&(s->surl),i_c); - return NyLPC_TBool_TRUE; + //終端なら終わらせる。 + if(i_c=='\0'){ + s->status=NyLPC_TBool_TRUE; + return NyLPC_TBool_FALSE; + } + //容量がいっぱい->解析を終わらせる。 + if(NyLPC_cStr_capacity(&(s->surl))<1) + { + s->status=NyLPC_TBool_TRUE; + return NyLPC_TBool_FALSE; + } + NyLPC_cStr_put(&(s->surl),i_c); + return NyLPC_TBool_TRUE; } /** * デフォルトハンドラ */ static const struct NyLPC_TcHttpBasicHeaderParser_Handler _handler= { - NULL, - urlHandler + NULL, + urlHandler }; void NyLPC_cHttpRequestPrefixParser_initialize(NyLPC_TcHttpRequestPrefixParser_t* i_inst) { - return; + return; } NyLPC_TBool NyLPC_cHttpRequestPrefixParser_parse(NyLPC_TcHttpRequestPrefixParser_t* i_inst,NyLPC_TiHttpPtrStream_t* i_stream) { - struct THttpHeaderPrefix hout; - NyLPC_TcHttpBasicHeaderParser_t parser; - NyLPC_cStr_initialize(&hout.surl,i_inst->_url,NyLPC_TcHttpRequestPrefixParser_MAX_URL_LEN); - hout.status=NyLPC_TBool_FALSE; - NyLPC_cHttpBasicHeaderParser_initialize(&parser,&_handler); - NyLPC_cHttpBasicHeaderParser_parseInit(&parser,&hout.super); - NyLPC_cHttpBasicHeaderParser_parseStream(&parser,i_stream,&hout.super);//どの道エラー - NyLPC_cHttpBasicHeaderParser_parseFinish(&parser,&hout.super);//どの道エラー - if(!hout.status){ - NyLPC_OnErrorGoto(Error); - } - //Errorで帰ってくるのでparsefinishは不要 - //NyLPC_cHttpBasicHeaderParser_parseFinish(&parser,&hout.super); - i_inst->method=hout.super.startline.req.method; - NyLPC_cHttpBasicHeaderParser_finalize(&parser); - //この時点では、メソッドとURLの一部がパースされているはず。 - NyLPC_cStr_finalize(&hout.surl); - //フラグをチェックして返す。 - return NyLPC_TBool_TRUE; + struct THttpHeaderPrefix hout; + NyLPC_TcHttpBasicHeaderParser_t parser; + NyLPC_cStr_initialize(&hout.surl,i_inst->_url,NyLPC_TcHttpRequestPrefixParser_MAX_URL_LEN); + hout.status=NyLPC_TBool_FALSE; + NyLPC_cHttpBasicHeaderParser_initialize(&parser,&_handler); + NyLPC_cHttpBasicHeaderParser_parseInit(&parser,&hout.super); + NyLPC_cHttpBasicHeaderParser_parseStream(&parser,i_stream,&hout.super);//どの道エラー + NyLPC_cHttpBasicHeaderParser_parseFinish(&parser,&hout.super);//どの道エラー + if(!hout.status){ + NyLPC_OnErrorGoto(Error); + } + //Errorで帰ってくるのでparsefinishは不要 + //NyLPC_cHttpBasicHeaderParser_parseFinish(&parser,&hout.super); + i_inst->method=hout.super.startline.req.method; + NyLPC_cHttpBasicHeaderParser_finalize(&parser); + //この時点では、メソッドとURLの一部がパースされているはず。 + NyLPC_cStr_finalize(&hout.surl); + //フラグをチェックして返す。 + return NyLPC_TBool_TRUE; Error: - NyLPC_cHttpBasicHeaderParser_finalize(&parser); - NyLPC_cStr_finalize(&hout.surl); - return NyLPC_TBool_FALSE; + NyLPC_cHttpBasicHeaderParser_finalize(&parser); + NyLPC_cStr_finalize(&hout.surl); + return NyLPC_TBool_FALSE; }