Successivo: Aggiornare ERRNO
, Precedente: Funzioni di registrazione, Su: Descrizione dell'estensione API [Contenuti][Indice]
È 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.
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!