nmh-workers
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Nmh-workers] First Byte of Body Lost on inc(1).


From: Ralph Corderoy
Subject: Re: [Nmh-workers] First Byte of Body Lost on inc(1).
Date: Tue, 06 Sep 2016 02:00:17 +0100

Hi Ken,

> >    $ cat >foo
> >    From foo
> >    Foo: bar
> >
> >    ab
>
> Yeah, I just tried that here, and no problem.

ltrace(1) is showing

     fopen("31729", "w" <unfinished ...>
         SYS_open("31729", 577, 0666)          = 4
     <... fopen resumed> )                     = 0x16555e0
     _IO_putc('F', 0x16555e0 <unfinished ...>
         SYS_fstat(4, 0x7ffd2f44bce0)          = 0
     <... _IO_putc resumed> )                  = 70
     _IO_putc('o', 0x16555e0)                  = 111
     _IO_putc('o', 0x16555e0)                  = 111
     _IO_putc(':', 0x16555e0)                  = 58
     _IO_putc(' ', 0x16555e0)                  = 32
     _IO_putc('b', 0x16555e0)                  = 98
     _IO_putc('a', 0x16555e0)                  = 97
     _IO_putc('r', 0x16555e0)                  = 114
     _IO_putc('\n', 0x16555e0)                 = 10
     ftello(0x13e56e0, 0x13e56e0, 0x13ec980, 0x7ffd2f44be1c <unfinished ...>
         SYS_lseek(3, 0, 1)                    = 22
     <... ftello resumed> )                    = 22
 1   memmove(0x13e61a0, "\n\nab\n", 5)         = 0x13e61a0
     fread(0x13e61a5, 1, 4096, 0x13e56e0 <unfinished ...>
         SYS_read(3, "", 4096)                 = 0
     <... fread resumed> )                     = 0
 2   memcpy(0x13ec980, "b\n", 2)               = 0x13ec980
     strlen("b\n")                             = 2
     ftello(0x13e56e0, 0x13e56e0, 0x13ec982, 0x7ffd2f44be1c <unfinished ...>
         SYS_lseek(3, 0, 1)                    = 22
     <... ftello resumed> )                    = 22
 3   memmove(0x13e61a0, "\n\nab\n", 5)         = 0x13e61a0
     fread(0x13e61a5, 1, 4096, 0x13e56e0 <unfinished ...>
         SYS_read(3, "", 4096)                 = 0
     <... fread resumed> )                     = 0
 4   _IO_putc('\n', 0x16555e0)                 = 10
     _IO_putc('b', 0x16555e0)                  = 98
     _IO_putc('\n', 0x16555e0)                 = 10
     ferror(0x13e56e0)                         = 0

1 and 3 show it moving the LF ending the last header, the separator LF,
and the whole body.  2 drops the "a", and 4 doesn't write it to email
31729.

I'll look tomorrow at the source if David hasn't found it by then.
Sleep time here.

-- 
Cheers, Ralph.
https://plus.google.com/+RalphCorderoy



reply via email to

[Prev in Thread] Current Thread [Next in Thread]