- // email(s)
- // TODO: use our strconcat() ?
- if (vf_get_property(&prop, vfobj, VFGP_FIND, NULL, "EMAIL", NULL)) {
- props = 0;
- available = MAX_FIELD_LEN;
- while (available > 0 && props < 5) {
- propval = vf_get_prop_value_string(prop, props++);
- if(!propval) continue;
- if (available > 0 && *multival != 0)
- strncat(multival, ",", available--);
- strncat(multival, propval, available);
- available -= strlen(propval);
- }
- if (available < MAX_FIELD_LEN)
- item_fput(item, EMAIL, xstrdup(multival));
+ // email(s). (TODO: EMAIL;PREF: should be abook's first)
+ if (vf_get_property(&prop, vfobj, VFGP_FIND, NULL, "EMAIL", (char*)0)) {
+ do {
+ props = 0;
+ while ((propval = vf_get_prop_value_string(prop, props++))) {
+ abook_list_append(&multivalues, propval);
+ }
+ } while (vf_get_next_property(&prop));
+ item_fput(item, EMAIL, abook_list_to_csv(multivalues));
+ abook_list_free(&multivalues);