}
int
-import(char filtname[FILTNAME_LEN], char *filename)
+import_file(char filtname[FILTNAME_LEN], char *filename)
{
int i;
int tmp = items;
int ret = 0;
for(i=0;; i++) {
- if( ! strncmp(i_filters[i].filtname, filtname, FILTNAME_LEN) )
+ if( ! strncasecmp(i_filters[i].filtname, filtname,
+ FILTNAME_LEN) )
break;
if( ! *i_filters[i].filtname ) {
i = -1;
filter = getch() - 'a';
if(filter == 'x' - 'a' ||
- filter >= number_of_output_filters(e_filters) || filter < 0) {
+ filter >= number_of_output_filters() || filter < 0) {
refresh_screen();
return 1;
}
struct db_enumerator e = init_db_enumerator(enum_mode);
for(i=0;; i++) {
- if( ! strncmp(e_filters[i].filtname, filtname, FILTNAME_LEN) )
+ if( ! strncasecmp(e_filters[i].filtname, filtname,
+ FILTNAME_LEN) )
break;
if( ! *e_filters[i].filtname ) {
i = -1;
int
-export(char filtname[FILTNAME_LEN], char *filename)
+export_file(char filtname[FILTNAME_LEN], char *filename)
{
const int mode = ENUM_ALL;
int i;
struct db_enumerator e = init_db_enumerator(mode);
for(i=0;; i++) {
- if( ! strncmp(e_filters[i].filtname, filtname, FILTNAME_LEN) )
+ if( ! strncasecmp(e_filters[i].filtname, filtname,
+ FILTNAME_LEN) )
break;
if( ! *e_filters[i].filtname ) {
i = -1;
static void ldif_fix_string(char *str);
-#define LDIF_ITEM_FIELDS 15
+#define LDIF_ITEM_FIELDS 16
typedef char* ldif_item[LDIF_ITEM_FIELDS];
"cn",
"mail",
"streetaddress",
+ "streetaddress2",
"locality",
"st",
"postalcode",
NAME, /* "cn" */
EMAIL, /* "mail" */
ADDRESS, /* "streetaddress" */
+ ADDRESS2, /* "streetaddress2" */
CITY, /* "locality" */
STATE, /* "st" */
ZIP, /* "postalcode" */
{
int i, j;
- for( i = 0, j = 0; j < strlen(str); 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] );
tmp,
database[e.item][NAME] );
else
- fprintf(out, "<tr>\n<td>%s>\n",
+ fprintf(out, "<tr>\n<td>%s\n",
database[e.item][NAME] );
fprintf(out, "<td>%s\n<td>%s\n",
{
int i,j;
- for(i=0,j=0; j < strlen(buf); i++, j++)
+ for(i=0,j=0; j < (int)strlen(buf); i++, j++)
buf[i] = buf[j] == '\n' ? buf[++j] : buf[j];
}
len = last ? strlen(start) : (int) (end-start);
len = min(len, 400-1);
- if(i < sizeof(pine_conv_table) / sizeof(*pine_conv_table)
+ if(i < (int)(sizeof(pine_conv_table) / sizeof(*pine_conv_table))
&& pine_conv_table[i] >= 0) {
strncpy(tmp, start, len);
tmp[len] = 0;
if( !(newstr = csv_remove_quotes(s)) )
return;
- if(field < (sizeof(csv_conv_table) / sizeof(*csv_conv_table))
+ if(field < (int)(sizeof(csv_conv_table) / sizeof(*csv_conv_table))
&& csv_conv_table[field] >= 0) {
item[csv_conv_table[field]] = newstr;
+ } else {
+ my_free(newstr);
}
}
free(name);
if ( database[e.item][ADDRESS] )
- fprintf(out, "ADR:;;%s;%s;%s;%s;%s\n",
+ fprintf(out, "ADR:;;%s;%s;%s;%s;%s;%s\n",
safe_str(database[e.item][ADDRESS]),
+ safe_str(database[e.item][ADDRESS2]),
safe_str(database[e.item][CITY]),
safe_str(database[e.item][STATE]),
safe_str(database[e.item][ZIP]),
static void
text_write_address_us(FILE *out, int i) {
fprintf(out, "\n%s", database[i][ADDRESS]);
-
+
+ if (database[i][ADDRESS2])
+ fprintf(out, "\n%s", database[i][ADDRESS2]);
+
if (database[i][CITY])
fprintf(out, "\n%s", database[i][CITY]);
static void
text_write_address_eu(FILE *out, int i) {
fprintf(out, "\n%s", database[i][ADDRESS]);
-
+
+ if (database[i][ADDRESS2])
+ fprintf(out, "\n%s", database[i][ADDRESS2]);
+
if (database[i][ZIP] || database[i][CITY]) {
fputc('\n', out);