Lines Matching refs:param
245 const struct doveadm_cmd_param *param;
246 if ((param = doveadm_cmd_param_get(cctx, name))==NULL) return FALSE;
248 if (param->type == CMD_PARAM_BOOL) {
249 *value_r = param->value.v_bool;
258 const struct doveadm_cmd_param *param;
259 if ((param = doveadm_cmd_param_get(cctx, name))==NULL) return FALSE;
261 if (param->type == CMD_PARAM_INT64) {
262 *value_r = param->value.v_int64;
271 const struct doveadm_cmd_param *param;
272 if ((param = doveadm_cmd_param_get(cctx, name))==NULL) return FALSE;
274 if (param->type == CMD_PARAM_STR) {
275 *value_r = param->value.v_string;
284 const struct doveadm_cmd_param *param;
285 if ((param = doveadm_cmd_param_get(cctx, name))==NULL) return FALSE;
287 if (param->type == CMD_PARAM_IP) {
288 memcpy(value_r, ¶m->value.v_ip, sizeof(struct ip_addr));
297 const struct doveadm_cmd_param *param;
300 if ((param = doveadm_cmd_param_get(cctx, name))==NULL) return FALSE;
301 if (param->type == CMD_PARAM_ARRAY) {
302 *value_r = array_get(¶m->value.v_array, &count);
314 const struct doveadm_cmd_param *param;
315 if ((param = doveadm_cmd_param_get(cctx, name))==NULL) return FALSE;
317 if (param->type == CMD_PARAM_ISTREAM) {
318 *value_r = param->value.v_istream;
326 struct doveadm_cmd_param *param;
328 array_foreach_modifiable(pargv, param) {
329 if (param->type == CMD_PARAM_ISTREAM &&
330 param->value.v_istream != NULL)
331 i_stream_destroy(¶m->value.v_istream);
338 struct doveadm_cmd_param *param;
340 array_foreach_modifiable(pargv, param) {
341 if (param->type == CMD_PARAM_ARRAY &&
342 array_is_created(¶m->value.v_array)) {
343 array_append_zero(¶m->value.v_array);
344 array_delete(¶m->value.v_array, array_count(¶m->value.v_array)-1, 1);
446 static void doveadm_fill_param(struct doveadm_cmd_param *param,
449 param->value_set = TRUE;
450 switch(param->type) {
452 param->value.v_bool = TRUE; break;
454 if (str_to_int64(value, ¶m->value.v_int64) != 0) {
455 param->value_set = FALSE;
459 if (net_addr2ip(value, ¶m->value.v_ip) != 0) {
460 param->value_set = FALSE;
464 param->value.v_string = p_strdup(pool, value);
467 if (!array_is_created(¶m->value.v_array))
468 p_array_init(¶m->value.v_array, pool, 8);
470 array_append(¶m->value.v_array, &val, 1);
479 param->value.v_istream = is;
503 struct doveadm_cmd_param *param;
519 param = array_append_space(&pargv);
520 memcpy(param, &cctx->cmd->parameters[pargc], sizeof(struct doveadm_cmd_param));
521 param->value_set = FALSE;
530 param = array_idx_modifiable(&pargv,i);
531 if (opt->name == param->name)
532 doveadm_fill_param(param, optarg, pool);