[cocomonar-dev] >0で落ちるバグ対応

Back to archive index

KUROKI Masayuki m_kurok****@mac*****
2003年 8月 12日 (火) 00:34:04 JST


黒木です。

>0 のリンクがある場合に落ちる問題への対応です。

原因は、上記のリンクがある場合に作成される NSURL は cmonar:0 なのですが
これを2ch CGIアクセス可能なリンクかどうかを判定する時に、
	handler_ = [CMRHostHandler hostHandlerForURL:link];
中で、各ハンドラでhost名チェックをします。ところが、上記リンクではホスト名
が空なのでstrstr( host, ".2ch.net")などの比較をするときに、ぬるぽアクセスで
落ちてしまっています。

対応ですが、ちょっと原始的になってしまうのですが、各CMRHostHandlerの
+canHandlerURL:にガードをかけることで対応可能です。

こんなことなら、takanori_isさんが帰省する前にcommitできるようにして
もらえばよかったです。tsawada2さ〜ん。読んでますか?

修正してCVS版だけでも対応済みにしておいてもらえませんか?

CMRHostHandler.m
@implementation CMR2channelHandler : CMRHostHandler
+ (BOOL) canHandleURL : (NSURL *) anURL
{
	char *hostName_ = [[anURL host] UTF8String];
         if ( nil == hostName_ ) return NO;
	return can_readcgi( hostName_ );
}
[略]

@implementation CMRShitarabaHandler : CMRHostHandler
+ (BOOL) canHandleURL : (NSURL *) anURL
{
	char *hostName_ = [[anURL host] UTF8String];
         if ( nil == hostName_ ) return NO;
	return is_shitaraba( hostName_ );
}
[略]

@implementation CMRMachibbsaHandler : CMRHostHandler
+ (BOOL) canHandleURL : (NSURL *) anURL
{
	char *hostName_ = [[anURL host] UTF8String];
         if ( nil == hostName_ ) return NO;
	return is_machi( hostName_ );
}
[略]




cocomonar-dev メーリングリストの案内
Back to archive index