rem: sub_category -> sub_category_balance -= gsb_data_transaction_get_adjusted_amount (transaction_number);
add: sub_category -> sub_category_balance -= gsb_data_transaction_get_adjusted_amount_for_currency ( transaction_number, category_tree_currency () -> no_devise );
context: void gsb_data_category_remove_transaction_from_category ( gint transaction_number ){    struct_category *category;    struct_sub_category *sub_category;    category = gsb_data_category_get_structure ( gsb_data_transaction_get_category_number (transaction_number));    sub_category = gsb_data_category_get_sub_category_structure ( gsb_data_transaction_get_category_number (transaction_number),								  gsb_data_transaction_get_sub_category_number (transaction_number));    if ( category )    {	category -> category_nb_transactions --;	category -> category_balance -= gsb_data_transaction_get_adjusted_amount (transaction_number);	if ( !category -> category_nb_transactions ) /* Cope with float errors */	    category -> category_balance = 0.0;    }    if ( sub_category )    {	sub_category -> sub_category_nb_transactions --;	sub_category -> sub_category_balance -= gsb_data_transaction_get_adjusted_amount (transaction_number);	if ( !sub_category -> sub_category_nb_transactions ) /* Cope with float errors */	    sub_category -> sub_category_balance = 0.0;    }    else    {	if ( category )	{	    category -> category_nb_direct_transactions --;	    category -> category_direct_balance -= gsb_data_transaction_get_adjusted_amount (transaction_number);	}    }}