rem: switch ( echeance -> periodicite )
add: switch (gsb_data_scheduled_get_frequency (scheduled_number))
context: GDate *date_suivante_echeance ( struct operation_echeance *echeance, GDate *pGDateCurrent ){    if ( !echeance -> periodicite )    {	pGDateCurrent = NULL;	return ( pGDateCurrent );    }    switch ( echeance -> periodicite )    {	case SCHEDULER_PERIODICITY_WEEK_VIEW:	    g_date_add_days ( pGDateCurrent, 7 );	    /* magouille car il semble y avoir un bug dans g_date_add_days	       qui ne fait pas l'addition si on ne met pas la ligne suivante */	    g_date_add_months ( pGDateCurrent, 0 );	    break;	case SCHEDULER_PERIODICITY_MONTH_VIEW:	    g_date_add_months ( pGDateCurrent, 1 );	    break;	case SCHEDULER_PERIODICITY_TWO_MONTHS_VIEW:	    g_date_add_months ( pGDateCurrent, 2 );	    break;	case SCHEDULER_PERIODICITY_TRIMESTER_VIEW:	    g_date_add_months ( pGDateCurrent, 3 );	    break;	case SCHEDULER_PERIODICITY_YEAR_VIEW:	    g_date_add_years ( pGDateCurrent, 1 );	case SCHEDULER_PERIODICITY_CUSTOM_VIEW:	    switch ( echeance -> intervalle_periodicite_personnalisee )	    {		case PERIODICITY_DAYS:		    g_date_add_days ( pGDateCurrent, 				      echeance -> periodicite_personnalisee );		    g_date_add_months ( pGDateCurrent, 0 );		    break;		case PERIODICITY_WEEKS:		    g_date_add_days ( pGDateCurrent, 				      echeance -> periodicite_personnalisee * 7 );		    g_date_add_months ( pGDateCurrent, 0 );		    break;		case PERIODICITY_MONTHS:		    g_date_add_months ( pGDateCurrent,					echeance -> periodicite_personnalisee );		    break;		case PERIODICITY_YEARS:		    g_date_add_years ( pGDateCurrent,				       echeance -> periodicite_personnalisee );		    g_date_add_months ( pGDateCurrent, 0 );		    break;	    }	    break;    }    if ( echeance -> date_limite &&	 g_date_compare ( pGDateCurrent, echeance -> date_limite ) > 0 )    {	pGDateCurrent = NULL;    }        return ( pGDateCurrent );}