libce
Libreria di Calcolatori Elettronici
Caricamento in corso...
Ricerca in corso...
Nessun risultato
autocorr_printf.cpp
1#include "../internal.h"
2
3#define BUFSZ 1024
4// versione di printf usata quando AUTOCORR=1. Invia l'output sul log invece
5// che sul video, in modo che il sito dell'autocorrezione possa catturarlo più
6// semplicemente.
7int autocorr_printf(const char *fmt, ...)
8{
9 va_list ap;
10 static char buf[BUFSZ];
11 static char *p;
12 int l, i;
13
14 va_start(ap, fmt);
15 l = vsnprintf(buf, BUFSZ, fmt, ap);
16 va_end(ap);
17
18 for (p = buf, i = 0; i < l; i++) {
19 // se l'output è composto di più righe inviamo al log messaggi
20 // separati
21 if (buf[i] == '\n')
22 buf[i] = '\0';
23 if (buf[i] == '\0') {
24 flog(LOG_USR, "%s", p);
25 p = &buf[i + 1];
26 }
27 }
28
29 return l;
30}
int vsnprintf(char *buf, size_t size, const char *fmt, va_list ap)
Come snprintf, ma usa una va_list esplicita invece di essere variadica.
Definition vsnprintf.cpp:62
void flog(log_sev sev, const char *fmt,...)
Invio di un messaggio formattato sul log.
Definition flog.cpp:6
@ LOG_USR
messaggio proveniente da livello utente
Definition libce.h:199
funzioni usate internamente