extern int nstr_coerce_val(struct valstr *, nsc_type, char *);
extern int nstr_exec(struct nscstr *, int, void *);
/* src/lib/common/nstreval.c */
-extern void nstr_exec_val(struct valstr *, natid, void *, nsc_type);
+extern struct valstr *nstr_exec_val(struct valstr *, natid, void *, nsc_type);
extern int nstr_promote(int);
extern char *symbol_by_value(int, struct symbol *);
/* src/lib/global/nsc.c */
val->val_as.sym.off = off;
val->val_as.sym.len = len;
val->val_as.sym.idx = idx;
- nstr_exec_val(val, player->cnum, ptr, NSC_NOTYPE);
- return val; /* FIXME nstr_exec_val() should return VAL */
+ return nstr_exec_val(val, player->cnum, ptr, NSC_NOTYPE);
}
/*
* WANT. VAL must be coercible. That's the case if a previous
* nstr_coerce_val(VAL, WANT, STR) succeeded.
*/
-void
+struct valstr *
nstr_exec_val(struct valstr *val, natid cnum, void *ptr, nsc_type want)
{
char *memb_ptr;
}
val->val_type = valtype;
+ return val;
}
/*