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/)