Hello, i'm the maintainer of the S-nail codebase, Edmund Grimley Evans <edmund.grimley.ev...@gmail.com> wrote: |Source: s-nail |Version: 14.8.5-2 |User: debian-...@lists.debian.org |Usertags: arm64 | |It failed to build on several architectures: | |https://buildd.debian.org/status/package.php?p=s-nail&suite=sid | |It seems to go into an infinite loop while running tests.
Ah, that's what is going on! |This symptom and the pattern of failures is typical of programs that |assume that plain char is signed. Fortunately there's a warning in |the build log that tells you exactly where the bug is: :} |sendout.c: In function '_outof': |sendout.c:1215:33: warning: comparison is always true due to limited |range of data type [-Wtype-limits] | while ((c = getc(fin)) != EOF) | |Just change the type of c from char to int! The change is already on the [master] branch of S-nail and i have mailed the Debian maintainer and asked wether he wants a diff. I'll attach the changeset that has been pushed. Ciao, --steffen
commit f43e04e Author: Steffen (Daode) Nurpmeso <sdao...@users.sf.net> Date: 2015-11-25 19:27:05 +0100 sendout.c:_outof(): FIX char/int vs. EOF type error --- sendout.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/sendout.c b/sendout.c index b302e10..f7f09ba 100644 --- a/sendout.c +++ b/sendout.c @@ -1199,7 +1199,9 @@ jcantfout: } free_child(pid); } else { - char c, *fname = file_expand(np->n_name); + int c; + char *fname = file_expand(np->n_name); + if (fname == NULL) { *senderror = TRU1; goto jcant;