rem: ope_import = calloc ( 1, sizeof ( struct struct_ope_importation ));
add: ope_import = g_malloc0 ( sizeof ( struct struct_ope_importation ));
context: int ofx_proc_transaction_cb(struct OfxTransactionData data)#endif /* OFX_0_7 */{    struct struct_ope_importation *ope_import;    GDate *date;/*         printf ( "ofx_proc_transaction_cb\n" ); *//*         printf ( "account_id_valid : %d  \n", data.account_id_valid ); *//*         printf ( "account_id : %s  \n", data.account_id ); *//*         printf ( "transactiontype_valid : %d  \n", data.transactiontype_valid ); *//*         printf ( "transactiontype : %d  \n", data.transactiontype ); *//*         printf ( "invtransactiontype_valid : %d  \n", data.invtransactiontype_valid ); *//*         printf ( "invtransactiontype : %d  \n", data.invtransactiontype ); *//*         printf ( "units_valid : %d  \n", data. units_valid); *//*         printf ( "units : %f  \n", data.units ); *//*         printf ( "unitprice_valid : %d  \n", data.unitprice_valid ); *//*         printf ( "unitprice : %f  \n", data.unitprice ); *//*         printf ( "amount_valid : %d  \n", data.amount_valid ); *//*         printf ( "amount : %f  \n", data.amount ); *//*         printf ( "fi_id_valid : %d  \n", data.fi_id_valid ); *//*         printf ( "fi_id : %s  \n", data.fi_id ); *//*         printf ( "unique_id_valid : %d  \n", data.unique_id_valid ); *//*         printf ( "unique_id : %s  \n", data.unique_id ); *//*         printf ( "unique_id_type_valid : %d  \n", data.unique_id_type_valid ); *//*         printf ( "unique_id_type : %s  \n", data.unique_id_type ); *//*         printf ( "security_data_valid : %d  \n", data.security_data_valid ); *//*         printf ( "security_data_ptr : %s  \n", data.security_data_ptr ); *//*         printf ( "date_posted_valid : %d  \n", data.date_posted_valid ); *//*         printf ( "date_posted : %s  \n", ctime ( &data.date_posted )); *//*         printf ( "date_initiated_valid : %d  \n", data.date_initiated_valid ); *//*         printf ( "date_initiated : %s  \n", ctime ( &data.date_initiated )); *//*         printf ( "date_funds_available_valid : %d  \n", data.date_funds_available_valid ); *//*         printf ( "date_funds_available : %s  \n", ctime ( &data.date_funds_available )); *//*         printf ( "fi_id_corrected_valid : %d  \n", data.fi_id_corrected_valid ); *//*         printf ( "fi_id_corrected : %s  \n", data.fi_id_corrected ); *//*         printf ( "fi_id_correction_action_valid : %d  \n", data.fi_id_correction_action_valid ); *//*         printf ( "fi_id_correction_action : %d  \n", data.fi_id_correction_action ); *//*         printf ( "server_transaction_id_valid : %d  \n", data.server_transaction_id_valid ); *//*         printf ( "server_transaction_id : %s  \n", data.server_transaction_id ); *//*         printf ( "check_number_valid : %d  \n", data.check_number_valid ); *//*         printf ( "check_number : %s  \n", data.check_number ); *//*         printf ( "reference_number_valid : %d  \n", data.reference_number_valid ); *//*         printf ( "reference_number : %s  \n", data.reference_number ); *//*         printf ( "standard_industrial_code_valid : %d  \n", data.standard_industrial_code_valid ); *//*         printf ( "standard_industrial_code : %s  \n", data.standard_industrial_code ); *//*         printf ( "payee_id_valid : %d  \n", data.payee_id_valid ); *//*         printf ( "payee_id : %s  \n", data.payee_id ); *//*         printf ( "name_valid : %d  \n", data.name_valid ); *//*         printf ( "name : %s  \n", data.name ); *//*         printf ( "memo_valid : %d  \n", data.memo_valid ); *//*         printf ( "memo : %s  \n\n\n\n", data.memo ); */    /* si à ce niveau le comtpe n'est pas créé, c'est qu'il y a un pb... */    if ( !compte_ofx_importation_en_cours )    {	if ( !message_erreur_operation )	{	    dialogue_error ( _("A transaction try to be saved but no account was created...\n"));	    message_erreur_operation = 1;	    erreur_import_ofx = 1;	}	return 0;    }    /*     c'est parti, on crée et remplit l'opération */    ope_import = calloc ( 1,			  sizeof ( struct struct_ope_importation ));    if ( data.fi_id_valid )	ope_import -> id_operation = g_strdup ( data.fi_id );    date = g_date_new ();    if ( data.date_posted_valid )    {	g_date_set_time ( date,			  data.date_posted );	if ( g_date_valid ( date ))	    ope_import -> date_de_valeur = date;	else	    ope_import -> date_de_valeur = NULL;    }    if ( data.date_initiated_valid )    {	g_date_set_time ( date,			  data.date_initiated );	if ( g_date_valid ( date ))	    ope_import -> date = date;	else	    ope_import -> date = ope_import -> date_de_valeur;    }    else	ope_import -> date = ope_import -> date_de_valeur;    if ( data.name_valid )	ope_import -> tiers = g_strdup ( data.name );    if ( data.memo_valid )	ope_import -> notes = g_strdup ( data.memo );    if ( data.check_number_valid )	ope_import -> cheque = utils_str_atoi ( data.check_number );    if ( data.amount_valid )	ope_import -> montant = data.amount;    if ( data.transactiontype_valid )	ope_import -> type_de_transaction = data.transactiontype;    /*     on peut faire ici des ptites modifs en fonction du type de transaction, */    /*     mais tout n'est pas utilisé par les banques... */    if ( data.transactiontype_valid )    {	switch ( data.transactiontype )	{	    case OFX_CHECK:		/* 		   si c'est un chèque, svt ya pas de tiers, on va mettre chèque...  */		if ( !ope_import -> tiers )		    ope_import -> tiers = g_strdup ( _("Check"));		break;	    case OFX_INT:		if ( !ope_import -> tiers )		    ope_import -> tiers = g_strdup ( _("Interest"));		break;	    case OFX_DIV:		if ( !ope_import -> tiers )		    ope_import -> tiers = g_strdup ( _("Dividend"));		break;	    case OFX_SRVCHG:		if ( !ope_import -> tiers )		    ope_import -> tiers = g_strdup ( _("Service charge"));		break;	    case OFX_FEE:		if ( !ope_import -> tiers )		    ope_import -> tiers = g_strdup ( _("Fee"));		break;	    case OFX_DEP:		if ( !ope_import -> tiers )		    ope_import -> tiers = g_strdup ( _("Deposit"));		break;	    case OFX_ATM:		if ( !ope_import -> tiers )		    ope_import -> tiers = g_strdup ( _("Cash dispenser"));		break;	    case OFX_POS:		if ( !ope_import -> tiers )		    ope_import -> tiers = g_strdup ( _("Point of sale"));		break;	    case OFX_XFER:		if ( !ope_import -> tiers )		    ope_import -> tiers = g_strdup ( _("Transfer"));		break;	    case OFX_PAYMENT:		if ( !ope_import -> tiers )		    ope_import -> tiers = g_strdup ( _("Electronic payment"));		break;	    case OFX_CASH:		if ( !ope_import -> tiers )		    ope_import -> tiers = g_strdup ( _("Cash"));		break;	    case OFX_DIRECTDEP:		if ( !ope_import -> tiers )		    ope_import -> tiers = g_strdup ( _("Direct deposit"));		break;	    case OFX_DIRECTDEBIT:		if ( !ope_import -> tiers )		    ope_import -> tiers = g_strdup ( _("Merchant initiated debit"));		break;	    case OFX_REPEATPMT:		if ( !ope_import -> tiers )		    ope_import -> tiers = g_strdup ( _("Repeating payment/standing order"));		break;	    case OFX_DEBIT:	    case OFX_CREDIT:	    case OFX_OTHER:		break;	}    }    /*     on ajoute l'opé à son compte */    compte_ofx_importation_en_cours -> operations_importees = g_slist_append ( compte_ofx_importation_en_cours -> operations_importees,									       ope_import );    return 0; }