about PGP verification source code: pgp_write_signed()
Hi list,
I am studying Mutt the source code to get a better understanding of gpg.
I got a question about the following code when Mutt tries to verify a
signature: why Mutt needs to convert every single '\n' to a "\r\n"
before calling gpg to verify it? I didn't see a similar (reverse
conversion) when Mutt signs a message?
Thanks a lot,
Kai
--------------------------------
File pgp.c:
static int pgp_write_signed(BODY *a, STATE *s, const char *tempfile)
{
...
fseek (s->fpin, a->hdr_offset, 0);
bytes = a->length + a->offset - a->hdr_offset;
hadcr = 0;
while (bytes > 0)
{
if((c = fgetc(s->fpin)) == EOF)
break;
bytes--;
if(c == '\r')
hadcr = 1;
else
{
if(c == '\n' && !hadcr)
fputc('\r', fp);
hadcr = 0;
}
fputc(c, fp);
}
}