** Description changed: Binary package hint: bsd-mailx bsd-mailx 8.1.2-0.20090911cvs-2ubuntu1 on 10.04 treats a mail body that's a single empty line as a empty body. This causes a warning on stdout that's impossible to silence through any option, and is broken behaviour compared to the long-existing mail(1) program on different Unixes over the years. - $ mail -s test ralph </dev/null - Null message body; hope that's ok - $ echo | mail -s test ralph - Null message body; hope that's ok - $ echo | hd - 00000000 0a |.| - 00000001 - $ + $ mail -s test ralph </dev/null + Null message body; hope that's ok + $ echo | mail -s test ralph + Null message body; hope that's ok + $ echo | hd + 00000000 0a |.| + 00000001 + $ The first diagnostic is correct, there was no message body. The second is wrong, there was a message body, an empty line. The upstream bsd-mailx does not have this fault. It has been introduced by the fix to http://bugs.debian.org/355545. I, like commentator Thue Janus Kristensen, think the bug should have been rejected as it wasn't a bug but a misunderstanding by the originator. Instead, bsd-mailx_8.1.2-0.20090911cvs-2ubuntu1.diff.gz on 10.04 includes - +/* check if file is empty or contains only a new line */ - +/* Debian Bug#355545 */ - +static int fisempty(FILE *mtf) - +{ - + off_t size; - + char c; - + if ((size = fsize(mtf)) == 0) return 1; - + if (size > 1) return 0; - + fseek(mtf, 0, SEEK_SET); - + c = fgetc(mtf); - + fseek(mtf, 0, SEEK_SET); - + return (c == '\n'); - +} + +/* check if file is empty or contains only a new line */ + +/* Debian Bug#355545 */ + +static int fisempty(FILE *mtf) + +{ + + off_t size; + + char c; + + if ((size = fsize(mtf)) == 0) return 1; + + if (size > 1) return 0; + + fseek(mtf, 0, SEEK_SET); + + c = fgetc(mtf); + + fseek(mtf, 0, SEEK_SET); + + return (c == '\n'); + +} This needs removing and the call to it reverting to the pre-patch - if (fsize(mtf) == 0) { + if (fsize(mtf) == 0) { As it stands, long-term scripts that do `echo | mail ...' in order to avoid the warning on stdout now fail. It is not them in the wrong, as is confirmed by package heirloom-mailx's mail(1), and mail(1) on other Unixes. Please drop this Debian change.
-- bsd-mailx's mail(1) has been patched to treat an empty line as an empty body https://bugs.launchpad.net/bugs/607099 You received this bug notification because you are a member of Ubuntu Bugs, which is subscribed to Ubuntu. -- ubuntu-bugs mailing list [email protected] https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs
