251int main(
int argc,
char *
const *argv)
258 unsigned long calltime;
259 unsigned long seconds;
260 unsigned long nanoseconds;
261 unsigned int history = 305;
268 logmsg(
WHO,100,USAGE,
"qmail-mrtg [ -1 | -2 | -3 | -4 | -5 | -6 |\
269 -a | -b | -c | -d | -e | -f | -g | -h | -i | -j | -k | -m | -z | -A | -B ] [time (min)] \n\
270 qmail-mrtg needs to be called every [time] minutes (i.e. by crontab) - default 305 secs");
272 flag = *(argv[1] + 1);
273 if (argc == 3) { scan_ulong(argv[2],&u); history = 60 * u + 5; }
282 if (!stralloc_0(&line))
_exit(1);
287 if (line.s[0] ==
'@') {
297 seconds += nanoseconds >> 28;
298 nanoseconds &= 0xfffffff;
302 seconds -= 4611686018427387914ULL;
303 seconds = seconds > 0 ? seconds : 0;
305 outs(
"Error: No TAI64N timestamp available.");
310 if (seconds <= calltime && seconds >= (calltime - history)) {
311 if (flag >=
'1' && flag <=
'9') mrtg_sendlog(line.s +
TAI64NLEN + 2,flag);
312 else if (flag >=
'a' && flag <=
'z') mrtg_smtplog(line.s +
TAI64NLEN + 2,flag);
313 else if (flag >=
'A' && flag <=
'Z') mrtg_pop3log(line.s +
TAI64NLEN + 2,flag);
319 outs(
"Warning: Not enough time left between calls");