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;

Reply via email to