Kouhei Sutou
kou****@clear*****
2009年 7月 29日 (水) 14:52:46 JST
須藤です。 名前のないテーブルに対してgrn_table_columns()を呼ぶと落ちて しまいます。名前が設定されているかどうかもチェックするという のはどうでしょうか? diff --git a/lib/db.c b/lib/db.c index d8808aa..7a8a90e 100644 --- a/lib/db.c +++ b/lib/db.c @@ -1779,7 +1779,7 @@ grn_table_columns(grn_ctx *ctx, grn_obj *table, const char *name, unsigned name_ { int n = 0; GRN_API_ENTER; - if (GRN_OBJ_TABLEP(table)) { + if (GRN_OBJ_TABLEP(table) && grn_obj_name(ctx, table, NULL, 0) > 0) { grn_obj bulk; grn_db *s = (grn_db *)DB_OBJ(table)->db; GRN_TEXT_INIT(&bulk, 0); # エラーメッセージも設定する方がより親切ですが。。。 -- 須藤 功平 <kou****@clear*****> 株式会社クリアコード (http://www.clear-code.com/)