return concord_close_ds ((COS_DS)obj);
}
+int
+concord_ds_p (COS_object obj)
+{
+ return COS_OBJECT_DS_P (obj);
+}
+
COS_Genre
concord_get_genre (COS_object ds, COS_object genre)
concord_object_get_feature_value (COS_object object, COS_object feature)
{
char id_buf[256];
+ CONCORD_Genre gobj;
CONCORD_Feature fobj;
CONCORD_String_Tank val_st;
size_t end;
else
return NULL;
- fobj = concord_get_feature (concord_current_env,
- "character", feature);
+ if (!COS_OBJECT_DS_P (concord_current_env))
+ {
+ concord_current_env = NULL;
+ return NULL;
+ }
+
+ gobj = concord_get_genre (concord_current_env, "character");
+ if (gobj == NULL)
+ return NULL;
+
+ fobj = concord_get_feature (concord_current_env, gobj, feature);
if (fobj == NULL)
return NULL;