};
-/*
-** try to determine the file type (if supported for import by homebank)
-**
-**
-*/
-gint homebank_alienfile_recognize(gchar *filename)
-{
-GIOChannel *io;
-gint i, retval = FILETYPE_UNKNOWN;
-gchar *tmpstr;
-gint io_stat;
-GError *err = NULL;
-static gint csvtype[7] = {
- CSV_DATE,
- CSV_INT,
- CSV_STRING,
- CSV_STRING,
- CSV_STRING,
- CSV_DOUBLE,
- CSV_STRING,
- };
-
-
- DB( g_print("\n[homebank] alienfile_recognize\n") );
-
-
- io = g_io_channel_new_file(filename, "r", NULL);
- if(io != NULL)
- {
- g_io_channel_set_encoding(io, NULL, NULL); /* set to binary mode */
-
- for(i=0;i<25;i++)
- {
- if( retval != FILETYPE_UNKNOWN )
- break;
-
- io_stat = g_io_channel_read_line(io, &tmpstr, NULL, NULL, &err);
- if( io_stat == G_IO_STATUS_EOF)
- break;
- if( io_stat == G_IO_STATUS_ERROR )
- {
- DB (g_print(" + ERROR %s\n",err->message));
- break;
- }
- if( io_stat == G_IO_STATUS_NORMAL)
- {
- if( *tmpstr != '\0' )
- {
- DB( g_print(" line %d: '%s' retval=%d\n", i, tmpstr, retval) );
-
- /* native homebank file */
- if( g_str_has_prefix(tmpstr, "<homebank v="))
- {
- DB( g_print(" type is HomeBank\n") );
- retval = FILETYPE_HOMEBANK;
- }
- else
-
- // QIF file ?
- if( g_str_has_prefix(tmpstr, "!Type") ||
- g_str_has_prefix(tmpstr, "!type") ||
- g_str_has_prefix(tmpstr, "!Option") ||
- g_str_has_prefix(tmpstr, "!option") ||
- g_str_has_prefix(tmpstr, "!Account") ||
- g_str_has_prefix(tmpstr, "!account")
- )
- {
- DB( g_print(" type is QIF\n") );
- retval = FILETYPE_QIF;
- }
- else
-
- /* is it OFX ? */
- if( g_strstr_len(tmpstr, -1, "<OFX>") != NULL
- || g_strstr_len(tmpstr, -1, "<ofx>") != NULL
- /*|| strcasestr(tmpstr, "<OFC>") != NULL*/
- )
- {
- DB( g_print(" type is OFX\n") );
- retval = FILETYPE_OFX;
- }
-
- /* is it csv homebank ? */
- else
- {
- gchar **str_array;
- gboolean isvalid = FALSE;
-
- hb_string_strip_crlf(tmpstr);
- str_array = hb_csv_row_get(tmpstr, ";", 8);
- isvalid = hb_csv_row_valid(str_array, 8, csvtype);
-
- DB( g_print(" hbcsv %d\n", isvalid) );
-
- if( isvalid == TRUE )
- {
- DB( g_print(" type is CSV homebank\n") );
- retval = FILETYPE_CSV_HB;
- }
-
- g_strfreev (str_array);
- }
- g_free(tmpstr);
- }
- }
- }
- g_io_channel_unref (io);
- }
-
- return retval;
-}
-
/* = = = = = = = = = = = = = = = = = = = = */
}
#ifdef G_OS_WIN32
-/* In case we build this as a windowed application */
+/* In case we build this as a windows application */
#ifdef __GNUC__
#define _stdcall __attribute__((stdcall))