morit****@razil*****
morit****@razil*****
2009年 5月 28日 (木) 09:49:19 JST
森です。
いつもご指摘ありがとうございます。
反映させていただきました。
>>> Kouhei Sutou さんは書きました:
> 須藤です。
>
> grn_table_open()のnameとpathにNULLを渡すと、NULLが返ってくる
> のですが、そのとき、エラー情報が設定されていないため、NULLが
> 返ってくる理由を特定するのが難しい気がします。
>
> そのようなときにエラー情報を設定するというのはどうでしょうか?
> こんな感じのイメージです。↓(メッセージは適当ですが。。。)
>
> diff --git a/lib/db.c b/lib/db.c
> index eed64a5..33c44de 100644
> --- a/lib/db.c
> +++ b/lib/db.c
> @@ -585,6 +585,8 @@ grn_table_open(grn_ctx *ctx, const char *name, unsigned name_size, const char *p
> DB_OBJ(res)->range = GRN_ID_NIL; /* unknown */
> grn_db_obj_init(ctx, db, id, DB_OBJ(res));
> }
> + } else {
> + ERR(GRN_INVALID_ARGUMENT, "path is missing");
> }
> GRN_API_RETURN(res);
> }
>
>
> あと、同じくgrn_table_open()の↓のときもエラー情報を設定して
> くれると嬉しいなぁと思いました。
>
> if (path && (!path2 || strcmp(path, path2))) { GRN_API_RETURN(NULL); }
>
>
> --
> 須藤 功平 <kou****@clear*****>
>
> 株式会社クリアコード (http://www.clear-code.com/)
> Tel: 03-6231-7270, Fax: 03-6231-7271
>
> _______________________________________________
> groonga-dev mailing list
> groon****@lists*****
> http://lists.sourceforge.jp/mailman/listinfo/groonga-dev
>
--
morita