Matthias Andree <matthias(_dot_)andree(_at_)stud(_dot_)uni-dortmund(_dot_)de>:
I recently received mail which contained excessive CR characters. I
figured my MTA was down and fetchmail had resorted to direct MDA
delivery. The strange thing is, if I trace with gdb, stripcr is always
1. I cannot explain this. Might stripcr get lost over the daemon-wait
time interval, I did not wait until that expired?
It doesn't seem likely. Just looking at this grep log,
grep -n -e stripcr *.[ch] /dev/null
conf.c:349: booldump("stripcr", ctl->stripcr);
fetchmail.c:835: FLAG_MERGE(stripcr);
fetchmail.c:1035: DEFAULT(ctl->stripcr, (ctl->mda != (char *)NULL));
fetchmail.c:1621: printf(_(" Carriage-return stripping is %s
(stripcr %s).\n"),
fetchmail.c:1622: ctl->stripcr ? _("enabled") : _("disabled"),
fetchmail.c:1623: ctl->stripcr ? "on" : "off");
fetchmail.h:275: flag stripcr; /* if TRUE, strip CRs in text */
rcfile_y.c:1423:{current.stripcr = FLAG_TRUE;;
rcfile_y.c:1495:{current.stripcr = FLAG_FALSE;;
sink.c:240: if (ctl->stripcr)
it seems pretty cleat that stripcr can only be set at profile-parse time.
Have you considered setting a watchpoint on stripcr? GDB might be able
to tell you where it's changing.
--
<a href="http://www.tuxedo.org/~esr/">Eric S. Raymond</a>
A man with a gun is a citizen. A man without a gun is a subject.