static int feature_index_lua_get_range_for_seqid(lua_State *L) { GtFeatureIndex **feature_index; const char *seqid; GtRange range; feature_index = check_feature_index(L, 1); seqid = luaL_checkstring(L, 2); luaL_argcheck(L, gt_feature_index_has_seqid(*feature_index, seqid), 2, "feature_index does not contain seqid"); gt_feature_index_get_range_for_seqid(*feature_index, &range, seqid); return gt_lua_range_push(L, range); }
static int feature_index_lua_get_range_for_seqid(lua_State *L) { GtFeatureIndex **feature_index; const char *seqid; GtError *err; GtRange range; bool has_seqid; feature_index = check_feature_index(L, 1); seqid = luaL_checkstring(L, 2); err = gt_error_new(); if (gt_feature_index_has_seqid(*feature_index, &has_seqid, seqid, err)) return gt_lua_error(L, err); gt_error_delete(err); luaL_argcheck(L, has_seqid, 2, "feature_index does not contain seqid"); err = gt_error_new(); if (gt_feature_index_get_range_for_seqid(*feature_index, &range, seqid, err)) return gt_lua_error(L, err); gt_error_delete(err); return gt_lua_range_push(L, range); }
static int genome_node_lua_get_range(lua_State *L) { GtGenomeNode **gn = check_genome_node(L, 1); return gt_lua_range_push(L, gt_genome_node_get_range(*gn)); }