#include "ldif.h"
-static void ldif_fix_string(char *str);
-
/* During LDIF import we need more fields than the
ITEM_FIELDS of a *list_item. Eg: "objectclass"
to test valid records, ...
continue; /* just skip the errors */
}
- ldif_fix_string(value);
-
ldif_convert(item, type, value);
xfree(line);
return 0;
}
-static void
-ldif_fix_string(char *str)
-{
- int i, j;
-
- for(i = 0, j = 0; j < (int)strlen(str); i++, j++)
- str[i] = ( str[j] == (char)0xc3 ?
- (char) str[++j] + (char) 0x40 :
- str[j] );
-
- str[i] = 0;
-}
-
/*
* end of ldif import
*/
ldif_export_database(FILE *out, struct db_enumerator e)
{
char email[MAX_EMAILSTR_LEN];
+ abook_list *emails, *em;
fprintf(out, "version: 1\n");
for(j = 0; j < ITEM_FIELDS; j++) {
if(j == EMAIL) {
- if(*email) // don't dump an empty email field
- ldif_fput_type_and_value(out,
- ldif_field_names[j],
- email);
+ if(*email) {
+ tmp = db_email_get(e.item);
+ emails = csv_to_abook_list(tmp);
+ free(tmp);
+ for(em = emails; em; em = em->next)
+ ldif_fput_type_and_value(out,
+ ldif_field_names[EMAIL],
+ em->data);
+ }
}
else if(db_fget(e.item,j)) {
ldif_fput_type_and_value(out,