Sorry for the italian language, this is the accurate DONE AND TO_DO list :)
----------------------------------------------------------------------------

I files

error.h  error.c
exitfail.h exitfail.c
xalloc-die.c
xalloc.h xmalloc.c

Sono stati presi da GNUlib il 15/7/2007

------------------------------------------

Prossimi passi:

+ * Integrare dummy_main.c in main.c 

+ * Aggiungere in flags.c una funzione (da esportare e dichiarare
    in numdiff.h) che permetta di ottenere un puntatore
    alla INTERNAL_TABLE. Questa dovr poi essere usata
    all' interno di cmp_files().

+ * Modificare la cmp_files() in modo tale che possa usare
+   la INTERNAL_TABLE creata dalla funzione diff_2_files().

+ * Attenzione: la cmp_files() dovr in particolare definire
+               'lineno1' per pf1, 'lineno2' per pf2
+               e passare entrambi alla cmp_lines(),
+               che pertanto dovr essere modificata.
+               Le modifiche dovranno concernere (a cascata)
+               anche le funzioni print_lines() e print_fields().

+ * Dichiarare statiche le funzioni all'interno del codice
    originario del Numdiff che non hanno bisogno di essere esportate. 

+ * Rimuovere files 'basename.c' e 'dirname.h'.

+ * Rimuovere files 'quotesys.c' e 'quotesys.h'

+ * Implementare le opzioni:
    -f (filter only mode), 
    -z (activate filter in normal mode),
    -Z (activate filter in alternative mode), 
    -R (ignore changes whose lines all match a given regexp)

+ * La funzione cmp_files() deve saper gestire correttamente il caso in cui
    -f  attiva (la flag table in questo caso non viene costruita).

+ * -Z si comporta come -z al momento. Differenziare.

+ * La funzione diff_2_files() deve visualizzare il suo output
    in modalit solo filtraggio.

+ * Verificare il funzionamento dell' opzione -b.

+ * Aggiungere all'help le voci relative all' uso delle nuove opzioni.

+ * Riorganizzare la funzione compare_files() in modo tale da non dover
    aprire e chiudere i files due volte.

+ * Verificare che, a parte le differenze nel formato di output,
    numdiff passa tutti i test che non richiedono l'uso del filtro.

+ * Aggiornare i suddetti test in modo tale da rispecchiare l'attuale
    formato di output.

+ * Rimuovere l' opzione -L,  obsoleta.

+ * Aggiungere dei test per l'uso del filtro.

+ * Provare a diminuire ancora il numero di variabili globali

+ * Rimuovere la funzione find_change(),  inutile !!!

+ * Spostare in options.c la definizione e l' inizializzazione
    delle variabili globali rimaste

+ * Implementare -Z e -z nella stessa forma di -X .

+ *  possibile rimuovere la variable statica `Files' in main.c
    e sostituirne l'uso con la variabile globale `files' ?

* Sostituire EXIT_FAILURE con -1 in "cmpfns.c" e "util.c". 
  Probabilmente la cosa migliore
   sostituire EXIT_FAILURE con EXIT_FATALERROR, dopo aver impostato
  quest' ultima a -1 in "system.h".

* Sostituire EXIT_TROUBLE con EXIT_FATALERROR in pfatal_with_name(),
  file "util.c"

* Non  necessario riavvolgere i file e rileggerne il contenuto
  daccapo dopo aver azionato il filtro. Eliminare un' inutile
  ripetizione della lettura dei loro contenuti ?

* Eliminare tutti i restanti messaggi di warning in fase
  di compilazione.

* Rivedere il contenuto dei commenti sui messaggi di errore
  al termine dei file 'runtest*.sh'.
