void feat_set(cst_features *f, const char* name, const cst_val *val) { cst_featvalpair *n; n = feat_find_featpair(f,name); if (val == NULL) { cst_errmsg("cst_val: trying to set a NULL val for feature \"%s\"\n", name); } else if (n == NULL) { /* first reference to this feature so create new fpair */ cst_featvalpair *p; p = (cst_featvalpair *)cst_local_alloc(f->ctx, sizeof(*p)); p->next = f->head; p->name = name; p->val = val_inc_refcount(val); f->head = p; } else { delete_val(n->val); n->val = val_inc_refcount(val); } }
void feat_set(cst_features *f, const char* name, const cst_val *val) { cst_featvalpair *n; n = feat_find_featpair(f,name); if (val == NULL) { cst_errmsg("cst_val: trying to set a NULL val for feature \"%s\"\n", name); } else if (n == NULL) { /* first reference to this feature so create new fpair */ cst_featvalpair *p; p = (cst_featvalpair *)cst_local_alloc(f->ctx, sizeof(*p)); #import "OpenEarsStaticAnalysisToggle.h" #ifdef STATICANALYZEDEPENDENCIES #define __clang_analyzer__ 1 #endif #if !defined(__clang_analyzer__) || defined(STATICANALYZEDEPENDENCIES) #undef __clang_analyzer__ p->next = f->head; p->name = name; p->val = val_inc_refcount(val); f->head = p; } else { delete_val(n->val); n->val = val_inc_refcount(val); } #endif }
cst_features *new_features_local(cst_alloc_context ctx) { cst_features *f; f = (cst_features *)cst_local_alloc(ctx, sizeof(*f)); f->head = NULL; f->ctx = ctx; return f; }