morit****@razil*****
morit****@razil*****
2007年 10月 8日 (月) 12:47:30 JST
こんにちは。森です。 >>> 窪田 博昭 さんは書きました: > こんにちは 窪田です。 > > バグ報告を3点程 ご指摘ありがとうございます!! ドキュメントのバグを修正しました。 > ------------------------------------- > ・API解説で_sen_group_optargのコールバック関数定義がソー > スと食い違っている > ソース: > int (*func)(sen_records *, const sen_recordh *, void *, > void *); > ドキュメント: > int (*func)(sen_records *, const sen_recordh *, void **, > void *); > 第3引数が違います。void** => void* はい。ご指摘のとおりでした。。 > ------------------------------------- > ・_sen_sort_optargのコールバック関数定義がソースと食い違 > っている > ソース: > int (*compar)(sen_records *, const sen_recordh *, > sen_records *, const sen_recordh *, void *); > ドキュメント: > int (*compar)(sen_records *, sen_recordh *, sen_recordh *, > void *); > > 引数の数、const修飾の有無等が違います。 > また、ソースを追った所、第1引数と第3引数(sen_records)は > 同じモノが渡されている模様。(set.c:part_func辺り) その通りです。これは、複数のrecordsのrecordをマージソートする時に 同じ比較関数を流用可能にするために引数を増やしました。 > ------------------------------------- > ・sen_records_sortの結果、キー値によってソートされてしま > う > API解説には以下の様にあるが、実際はKey値によってソートさ > れている。(key_size=sizeof(int)で確認) > 『comparにNULLが指定された場合は、各レコードのスコア値に > よってソートします。』 > > 但し、sen_records_sort(??,??,NULL)の様に、optarg自体をNULL > 渡しした場合はスコアによってソートされる様です。 その通りでした。comparとcompar_argが共にNULLの場合はkey値でソートされます。 optargがNULLの場合はスコアによって降順にソートされます。 > ------------------------------------- > よろしくお願いします。 > > -------------------------------------- > Easy + Joy + Powerful = Yahoo! Bookmarks x Toolbar > http://pr.mail.yahoo.co.jp/toolbar/ > > _______________________________________________ > Senna-dev mailing list > Senna****@lists***** > http://lists.sourceforge.jp/mailman/listinfo/senna-dev > -- morita