19void die(
int n) { buffer_flush(buffer_1);
_exit(n); }
21void warn(
char *s1,
char *s2)
25 buffer_puts(buffer_1,s1);
26 buffer_puts(buffer_1,s2);
27 buffer_puts(buffer_1,
": ");
28 buffer_puts(buffer_1,x);
29 buffer_puts(buffer_1,
"\n");
32void die_nomem() { buffer_puts(buffer_1,
"fatal: out of memory\n");
die(111); }
36void err(
unsigned long id)
39 foo[fmt_ulong(
foo,
id)] = 0;
40 warn(
"warning: trouble with #",
foo);
66 i = fmt_str(s,
" GMT #"); len += i;
if (s) s += i;
67 i = fmt_ulong(s,
id); len += i;
if (s) s += i;
68 i = fmt_str(s,
" "); len += i;
if (s) s += i;
69 i = fmt_ulong(s,
size); len += i;
if (s) s += i;
70 i = fmt_str(s,
" <"); len += i;
if (s) s += i;
71 i = fmt_str(s,
sender.s + 1); len += i;
if (s) s += i;
72 i = fmt_str(s,
"> "); len += i;
if (s) s += i;
74 i = fmt_str(s,
" bouncing"); len += i;
if (s) s += i;
82void out(
char *s,
unsigned int n)
85 buffer_put(buffer_1,((*s >= 32) && (*s <= 126)) ? s :
"_",1);
91void outok(
char *s) { buffer_puts(buffer_1,s); }
124 if (stat(
fnmess,&st) == -1) {
err(
id);
continue; }
129 if (
fd == -1) {
err(
id);
continue; }
132 if (fstat(
fd,&st) == -1) { close(
fd);
err(
id);
continue; }
138 for (channel = 0; channel < 2; ++channel) {
141 if (errno != ENOENT)
err(
id);
150 outok(channel ?
"\tremote\t" :
"\tlocal\t");
unsigned int date822fmt(char *s, struct datetime *dt)
unsigned int fmtqfn(char *s, char *dirslash, unsigned long id, int flagsplit)
void die_opendir(char *fn)
unsigned int fmtstats(char *s)
void err(unsigned long id)
void warn(char *s1, char *s2)