auth_fields_snapshot_preserve(fields);
field = array_idx_modifiable(&fields->fields, idx);
}
- field->value = p_strdup_empty(fields->pool, value);
+ field->value = value == NULL ? "yes" : p_strdup(fields->pool, value);
field->flags = flags | AUTH_FIELD_FLAG_CHANGED;
}
return NULL;
field = array_idx(&fields->fields, idx);
- return field->value == NULL ? "" : field->value;
+ i_assert(field->value != NULL);
+ return field->value;
}
bool auth_fields_exists(struct auth_fields *fields, const char *key)
else
str_append_c(dest, '\t');
str_append(dest, f[i].key);
- if (f[i].value != NULL) {
- str_append_c(dest, '=');
- str_append_tabescaped(dest, f[i].value);
- }
+ str_append_c(dest, '=');
+ str_append_tabescaped(dest, f[i].value);
}
}
if (auth_fields_find_idx(fields, key, &idx)) {
field = array_idx_modifiable(&fields->fields, idx);
- field->value = NULL;
+ field->value = "yes";
}
}
enum auth_field_flags flags_mask,
enum auth_field_flags flags_result);
bool auth_fields_is_empty(struct auth_fields *fields);
-/* If the field exists, clear its value (so the exported string will be "key"
- instead of e.g. "key=y"). */
+/* If the field exists, set its value to "yes",
+ so the exported string will be "key=yes" */
void auth_fields_booleanize(struct auth_fields *fields, const char *key);
/* Remember the current fields. */