struct gopt_str_val *g;
if (o->off1)
- ullp = td_var(to, o->off1);
+ ullp = td_var(to, o, o->off1);
g = container_of(gopt, struct gopt_str_val, gopt);
if (ullp)
unsigned long long *ullp = NULL;
struct gopt_int *i;
- if (o->off1) {
- if (o->prof_opts)
- ullp = td_var(o->prof_opts, o->off1);
- else
- ullp = td_var(to, o->off1);
- }
+ if (o->off1)
+ ullp = td_var(to, o, o->off1);
i = container_of(gopt, struct gopt_int, gopt);
if (ullp)
unsigned int *ip = NULL;
struct gopt_combo *c;
- if (o->off1) {
- if (o->prof_opts)
- ip = td_var(o->prof_opts, o->off1);
- else
- ip = td_var(to, o->off1);
- }
+ if (o->off1)
+ ip = td_var(to, o, o->off1);
c = container_of(gopt, struct gopt_combo, gopt);
if (ip)
unsigned int *ip = NULL;
struct gopt_int *i;
- if (o->off1) {
- if (o->prof_opts)
- ip = td_var(o->prof_opts, o->off1);
- else
- ip = td_var(to, o->off1);
- }
+ if (o->off1)
+ ip = td_var(to, o, o->off1);
i = container_of(gopt, struct gopt_int, gopt);
if (ip)
unsigned int *ip = NULL;
struct gopt_bool *b;
- if (o->off1) {
- if (o->prof_opts)
- ip = td_var(o->prof_opts, o->off1);
- else
- ip = td_var(to, o->off1);
- }
+ if (o->off1)
+ ip = td_var(to, o, o->off1);
b = container_of(gopt, struct gopt_bool, gopt);
if (ip)
unsigned int *ip = NULL;
struct gopt_combo *c;
- if (o->off1) {
- if (o->prof_opts)
- ip = td_var(o->prof_opts, o->off1);
- else
- ip = td_var(to, o->off1);
- }
+ if (o->off1)
+ ip = td_var(to, o, o->off1);
c = container_of(gopt, struct gopt_combo, gopt);
if (ip)
char *text = NULL;
if (o->off1) {
- char **p;
-
- if (o->prof_opts)
- p = td_var(o->prof_opts, o->off1);
- else
- p = td_var(to, o->off1);
+ char **p = td_var(to, o, o->off1);
text = *p;
}
char *text = NULL;
if (o->off1) {
- char **p;
-
- if (o->prof_opts)
- p = td_var(o->prof_opts, o->off1);
- else
- p = td_var(to, o->off1);
-
+ char **p = td_var(to, o, o->off1);
text = *p;
}
break;
case FIO_OPT_RANGE: {
struct gopt_range *r;
- unsigned int *ip[4];
-
- if (o->prof_opts) {
- ip[0] = td_var(o->prof_opts, o->off1);
- ip[1] = td_var(o->prof_opts, o->off2);
- ip[2] = td_var(o->prof_opts, o->off3);
- ip[3] = td_var(o->prof_opts, o->off4);
- } else {
- ip[0] = td_var(to, o->off1);
- ip[1] = td_var(to, o->off2);
- ip[2] = td_var(to, o->off3);
- ip[3] = td_var(to, o->off4);
- }
+ unsigned int *ip[4] = { td_var(to, o, o->off1),
+ td_var(to, o, o->off2),
+ td_var(to, o, o->off3),
+ td_var(to, o, o->off4) };
r = container_of(gopt, struct gopt_range, gopt);
gopt_int_range_set_val(r, *ip);
case FIO_OPT_STR_VAL: {
unsigned long long *ullp = NULL;
- if (o->off1) {
- if (o->prof_opts)
- ullp = td_var(o->prof_opts, o->off1);
- else
- ullp = td_var(to, o->off1);
- }
+ if (o->off1)
+ ullp = td_var(to, o, o->off1);
go = gopt_new_str_val(gjv, o, ullp, opt_index);
break;
case FIO_OPT_STR_VAL_TIME: {
unsigned long long *ullp = NULL;
- if (o->off1) {
- if (o->prof_opts)
- ullp = td_var(o->prof_opts, o->off1);
- else
- ullp = td_var(to, o->off1);
- }
+ if (o->off1)
+ ullp = td_var(to, o, o->off1);
go = gopt_new_ullong(gjv, o, ullp, opt_index);
break;
if (o->posval[0].ival) {
unsigned int *ip = NULL;
- if (o->off1) {
- if (o->prof_opts)
- ip = td_var(o->prof_opts, o->off1);
- else
- ip = td_var(to, o->off1);
- }
+ if (o->off1)
+ ip = td_var(to, o, o->off1);
go = gopt_new_combo_int(gjv, o, ip, opt_index);
} else {
unsigned int *ip = NULL;
- if (o->off1) {
- if (o->prof_opts)
- ip = td_var(o->prof_opts, o->off1);
- else
- ip = td_var(to, o->off1);
- }
+ if (o->off1)
+ ip = td_var(to, o, o->off1);
go = gopt_new_int(gjv, o, ip, opt_index);
}
case FIO_OPT_BOOL: {
unsigned int *ip = NULL;
- if (o->off1) {
- if (o->prof_opts)
- ip = td_var(o->prof_opts, o->off1);
- else
- ip = td_var(to, o->off1);
- }
+ if (o->off1)
+ ip = td_var(to, o, o->off1);
go = gopt_new_bool(gjv, o, ip, opt_index);
break;
if (o->posval[0].ival) {
unsigned int *ip = NULL;
- if (o->off1) {
- if (o->prof_opts)
- ip = td_var(o->prof_opts, o->off1);
- else
- ip = td_var(to, o->off1);
- }
+ if (o->off1)
+ ip = td_var(to, o, o->off1);
go = gopt_new_combo_int(gjv, o, ip, opt_index);
} else {
char *text = NULL;
if (o->off1) {
- char **p;
-
- if (o->prof_opts)
- p = td_var(o->prof_opts, o->off1);
- else
- p = td_var(to, o->off1);
-
+ char **p = td_var(to, o, o->off1);
text = *p;
}
go = gopt_new_str_multi(gjv, o, opt_index);
break;
case FIO_OPT_RANGE: {
- unsigned int *ip[4];
-
- if (o->prof_opts) {
- ip[0] = td_var(o->prof_opts, o->off1);
- ip[1] = td_var(o->prof_opts, o->off2);
- ip[2] = td_var(o->prof_opts, o->off3);
- ip[3] = td_var(o->prof_opts, o->off4);
- } else {
- ip[0] = td_var(to, o->off1);
- ip[1] = td_var(to, o->off2);
- ip[2] = td_var(to, o->off3);
- ip[3] = td_var(to, o->off4);
- }
+ unsigned int *ip[4] = { td_var(to, o, o->off1),
+ td_var(to, o, o->off2),
+ td_var(to, o, o->off3),
+ td_var(to, o, o->off4) };
go = gopt_new_int_range(gjv, o, ip, opt_index);
break;
struct gopt_str_multi *m,
struct fio_option *o)
{
+ unsigned int *ip = td_var(gjv->o, o, o->off1);
struct value_pair *vp;
- unsigned int *ip;
gboolean set;
guint val = 0;
int i;
- if (o->prof_opts)
- ip = td_var(o->prof_opts, o->off1);
- else
- ip = td_var(gjv->o, o->off1);
-
i = 0;
vp = &o->posval[0];
while (vp->ival) {
struct gopt_range *r,
struct fio_option *o)
{
- unsigned int *ip[4];
+ unsigned int *ip[4] = { td_var(gjv->o, o, o->off1),
+ td_var(gjv->o, o, o->off2),
+ td_var(gjv->o, o, o->off3),
+ td_var(gjv->o, o, o->off4) };
gint val;
int i;
- if (o->prof_opts) {
- ip[0] = td_var(o->prof_opts, o->off1);
- ip[1] = td_var(o->prof_opts, o->off2);
- ip[2] = td_var(o->prof_opts, o->off3);
- ip[3] = td_var(o->prof_opts, o->off4);
- } else {
- ip[0] = td_var(gjv->o, o->off1);
- ip[1] = td_var(gjv->o, o->off2);
- ip[2] = td_var(gjv->o, o->off3);
- ip[3] = td_var(gjv->o, o->off4);
- }
-
for (i = 0; i < GOPT_RANGE_SPIN; i++) {
val = gtk_spin_button_get_value_as_int(GTK_SPIN_BUTTON(r->spins[i]));
*ip[i] = val;
struct gopt_str_val *s,
struct fio_option *o)
{
- unsigned long long *ullp;
+ unsigned long long *ullp = td_var(gjv->o, o, o->off1);
GtkAdjustment *adj;
gint index;
- if (o->prof_opts)
- ullp = td_var(o->prof_opts, o->off1);
- else
- ullp = td_var(gjv->o, o->off1);
-
if (!ullp)
return;
static void gopt_handle_str_changed(struct gopt_job_view *gjv,
struct gopt_str *s, struct fio_option *o)
{
- char **p;
-
- if (o->prof_opts)
- p = td_var(o->prof_opts, o->off1);
- else
- p = td_var(gjv->o, o->off1);
+ char **p = td_var(gjv->o, o, o->off1);
if (*p)
free(*p);
static void gopt_handle_bool_changed(struct gopt_job_view *gjv,
struct gopt_bool *b, struct fio_option *o)
{
- unsigned int *ip;
+ unsigned int *ip = td_var(gjv->o, o, o->off1);
gboolean set;
- if (o->prof_opts)
- ip = td_var(o->prof_opts, o->off1);
- else
- ip = td_var(gjv->o, o->off1);
-
set = gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(b->check));
*ip = set;
}
static void gopt_handle_int_changed(struct gopt_job_view *gjv,
struct gopt_int *i, struct fio_option *o)
{
+ unsigned int *ip = td_var(gjv->o, o, o->off1);
GtkAdjustment *adj;
- unsigned int *ip;
guint val;
- if (o->prof_opts)
- ip = td_var(o->prof_opts, o->off1);
- else
- ip = td_var(gjv->o, o->off1);
-
adj = gtk_spin_button_get_adjustment(GTK_SPIN_BUTTON(i->spin));
val = gtk_adjustment_get_value(adj);
*ip = val;
struct gopt_combo *c,
struct fio_option *o)
{
- char **p;
-
- if (o->prof_opts)
- p = td_var(o->prof_opts, o->off1);
- else
- p = td_var(gjv->o, o->off1);
+ char **p = td_var(gjv->o, o, o->off1);
if (*p)
free(*p);
struct gopt_combo *c,
struct fio_option *o)
{
- unsigned int *ip;
+ unsigned int *ip = td_var(gjv->o, o, o->off1);
gint index;
- if (o->prof_opts)
- ip = td_var(o->prof_opts, o->off1);
- else
- ip = td_var(gjv->o, o->off1);
-
index = gtk_combo_box_get_active(GTK_COMBO_BOX(c->combo));
*ip = o->posval[index].oval;
}
return max(strlen(vp->ival), opt_len(str));
}
-#define val_store(ptr, val, off, or, data, o) \
- do { \
- if ((o)->prof_opts) \
- ptr = td_var((o)->prof_opts, (off)); \
- else \
- ptr = td_var((data), (off)); \
- if ((or)) \
- *ptr |= (val); \
- else \
- *ptr = (val); \
+#define val_store(ptr, val, off, or, data, o) \
+ do { \
+ ptr = td_var((data), (o), (off)); \
+ if ((or)) \
+ *ptr |= (val); \
+ else \
+ *ptr = (val); \
} while (0)
static int __handle_option(struct fio_option *o, const char *ptr, void *data,
*/
if (o->off2) {
ul2 = 0;
- if (o->prof_opts)
- ilp = td_var(o->prof_opts, o->off2);
- else
- ilp = td_var(data, o->off2);
+ ilp = td_var(data, o, o->off2);
*ilp = ul2;
}
- if (o->prof_opts)
- flp = td_var(o->prof_opts, o->off1);
- else
- flp = td_var(data, o->off1);
+ flp = td_var(data, o, o->off1);
for(i = 0; i < o->maxlen; i++)
flp[i].u.f = 0.0;
}
return 1;
}
- if (o->prof_opts)
- flp = td_var(o->prof_opts, o->off1);
- else
- flp = td_var(data, o->off1);
+ flp = td_var(data, o, o->off1);
flp[curr].u.f = uf;
dprint(FD_PARSE, " out=%f\n", uf);
len++;
if (o->off2) {
- if (o->prof_opts)
- ilp = td_var(o->prof_opts, o->off2);
- else
- ilp = td_var(data, o->off2);
+ ilp = td_var(data, o, o->off2);
if (len > *ilp)
*ilp = len;
}
fio_opt_str_fn *fn = o->cb;
if (o->off1) {
- if (o->prof_opts)
- cp = td_var(o->prof_opts, o->off1);
- else
- cp = td_var(data, o->off1);
-
+ cp = td_var(data, o, o->off1);
*cp = strdup(ptr);
}
if (o->type != FIO_OPT_STR_STORE || !o->off1)
continue;
- if (o->prof_opts)
- ptr = td_var(o->prof_opts, o->off1);
- else
- ptr = td_var(data, o->off1);
+ ptr = td_var(data, o, o->off1);
if (*ptr) {
free(*ptr);
*ptr = NULL;