diff --git a/obexd/plugins/vcard.c b/obexd/plugins/vcard.c
index 6c2445c..9d7e6ea 100644
--- a/obexd/plugins/vcard.c
+++ b/obexd/plugins/vcard.c
vcard_printf(vcards, "FN:%s", field);
}
-static void vcard_printf_number(GString *vcards, const char *number, int type,
+static void vcard_printf_number(GString *vcards, uint8_t format,
+ const char *number, int type,
enum phonebook_number_type category)
{
char *pref = "", *intl = "", *category_string = "";
if ((type == TYPE_INTERNATIONAL) && (number[0] != '+'))
intl = "+";
- snprintf(buf, sizeof(buf), "TEL;TYPE=\%s%s:\%s\%s", pref,
- category_string, intl, number);
+ if (format == FORMAT_VCARD30)
+ snprintf(buf, sizeof(buf), "TEL;TYPE=\%s%s:\%s\%s", pref,
+ category_string, intl, number);
+ else if (format == FORMAT_VCARD21)
+ snprintf(buf, sizeof(buf), "TEL;\%s%s:\%s\%s", pref,
+ category_string, intl, number);
+
vcard_printf(vcards, buf, number);
}
for (l = contact->numbers; l; l = l->next) {
struct phonebook_number *number = l->data;
- vcard_printf_number(vcards, number->tel, 1,
+ vcard_printf_number(vcards, format, number->tel, 1,
number->type);
}
}