FreeCalypso > hg > falcon-mail-tools
diff f-demime/b2q_in.c @ 0:7e0d08176f32
f-demime starting code
author | Mychaela Falconia <falcon@freecalypso.org> |
---|---|
date | Sat, 06 May 2023 06:14:03 +0000 |
parents | |
children |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/f-demime/b2q_in.c Sat May 06 06:14:03 2023 +0000 @@ -0,0 +1,45 @@ +/* + * This module implements the input side of base64-to-QP conversion. + */ + +#include <stdio.h> +#include <stdlib.h> +#include <string.h> +#include <strings.h> +#include "defs.h" + +extern void (*dec_outf)(); +extern FILE *tempfile; + +static int cr_state; + +static void +output_func(ch) +{ + if (cr_state) { + cr_state = 0; + if (ch == '\n') { + putc('\n', tempfile); + return; + } else + putc('\r', tempfile); + } + if (ch == '\r') + cr_state = 1; + else + putc(ch, tempfile); +} + +void +b2q_conv_init() +{ + dec_outf = output_func; + cr_state = 0; +} + +void +b2q_conv_finish() +{ + if (cr_state) + putc('\r', tempfile); +}