[groonga-dev,00072] grn_table_open()にもっとエラー情報を出してほしい

Back to archive index

Kouhei Sutou kou****@clear*****
2009年 5月 27日 (水) 22:52:54 JST


須藤です。

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 メーリングリストの案内
Back to archive index