From 1f1bc68c78000f3269bb4bb1f15db6fefac03901 Mon Sep 17 00:00:00 2001 From: =?utf8?q?Rapha=C3=ABl=20Droz?= Date: Thu, 13 Dec 2012 17:31:17 +0100 Subject: [PATCH] ldif: don't dump "email:" if the email field is empty. --- filter.c | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) diff --git a/filter.c b/filter.c index e928492..3aa3708 100644 --- a/filter.c +++ b/filter.c @@ -883,16 +883,22 @@ ldif_export_database(FILE *out, struct db_enumerator e) int j; get_first_email(email, e.item); - tmp = strdup_printf("cn=%s,mail=%s",db_name_get(e.item),email); + if(*email) + tmp = strdup_printf("cn=%s,mail=%s",db_name_get(e.item),email); + else + tmp = strdup_printf("cn=%s",db_name_get(e.item)); ldif_fput_type_and_value(out, "dn", tmp); free(tmp); for(j = 0; j < LDIF_ITEM_FIELDS; j++) { if(ldif_conv_table[j] >= 0) { - if(ldif_conv_table[j] == EMAIL) - ldif_fput_type_and_value(out, - ldif_field_names[j], email); + if(ldif_conv_table[j] == EMAIL) { + if(*email) // don't dump en empty email field + ldif_fput_type_and_value(out, + ldif_field_names[j], + email); + } else if(db_fget(e.item,ldif_conv_table[j])) ldif_fput_type_and_value(out, ldif_field_names[j], -- 2.39.2