SEXP_t *probe_rcache_cstr_get(probe_rcache_t *cache, const char *k) { SEXP_t *r = NULL; rbt_str_get(cache->tree, k, (void *)&r); return (r != NULL ? SEXP_ref(r) : NULL); }
void *oval_string_map_get_value(struct oval_string_map *map, const char *key) { void *val = NULL; assume_d(map != NULL, NULL); assume_d(key != NULL, NULL); if (rbt_str_get((rbt_t *)map, key, &val) != 0) return (NULL); else return (val); }
SEXP_t *probe_rcache_sexp_get(probe_rcache_t *cache, const SEXP_t * id) { char b[128], *k = b; SEXP_t *r = NULL; if (SEXP_string_cstr_r(id, k, sizeof b) == ((size_t)-1)) k = SEXP_string_cstr(id); if (k == NULL) return(NULL); rbt_str_get(cache->tree, k, (void *)&r); if (k != b) free(k); return (r != NULL ? SEXP_ref(r) : NULL); }