Successivo: , Precedente: , Su: Descrizione dell'estensione API   [Contenuti][Indice]


17.4.6 Stampare messaggi dalle estensioni

È possibile stampare diversi tipi di messaggi di avvertimento da un’estensione, come qui spiegato. Si noti che, per queste funzioni, si deve fornire l’ID di estensione ricevuto da gawk al momento in cui l’estensione è stata caricata:110

void fatal(awk_ext_id_t id, const char *format, ...);

Stampa un messaggio e poi gawk termina immediatamente l’esecuzione.

void nonfatal(awk_ext_id_t id, const char *format, ...);

Stampa un messaggio di errore non-fatale.

void warning(awk_ext_id_t id, const char *format, ...);

Stampa un messaggio di avvertimento.

void lintwarn(awk_ext_id_t id, const char *format, ...);

Stampa un messaggio di avvertimento “lint”. Normalmente questo equivale a stampare un messaggio di avvertimento, ma se gawk era stato invocato specificando l’opzione ‘--lint=fatal’, gli avvertimenti di lint diventano messaggi di errore fatali.

Tutte queste funzioni sono per il resto simili alla famiglia di funzioni printf() del linguaggio C, dove il parametro format è una stringa contenente dei caratteri normali e delle istruzioni di formattazione, mischiati tra loro.


Note a piè di pagina

(110)

Poiché l’API usa solo funzionalità previste dal compilatore ISO C 90, non è possibile usare le macro di tipo variadico (che accettano un numero variabile di argomenti) disponibili nel compilatore ISO C 99, che nasconderebbero quel parametro. Un vero peccato!