## GMimeFilterCRLF GMimeFilterCRLF — Convert line-endings from LF to CRLF or vise versa |

## Functions

GMimeFilter * | g_mime_filter_crlf_new ()

## Types and Values

struct | GMimeFilterCRLF

## Description

A GMimeFilter for converting between DOS and UNIX line-endings.

## Functions

### g_mime_filter_crlf_new ()

    GMimeFilter *
    g_mime_filter_crlf_new (gboolean encode,
                            gboolean dots);

Creates a new GMimeFilterCRLF filter.

If `encode` is `TRUE`, then lone line-feeds ('\n') will be 'encoded' into the canonical CRLF end-of-line sequence ("\r\n") otherwise CRLF sequences will be 'decoded' into the UNIX line-ending form ('\n').

The `dots` parameter tells the filter whether or not it should encode or decode lines beginning with a dot ('.'). If both `encode` and `dots` are `TRUE`, then a '.' at the beginning of a line will be 'encoded' into "..". If `encode` is `FALSE`, then ".." at the beginning of a line will be decoded into a single '.'.

#### Parameters

encode | `TRUE` if the filter should encode or `FALSE` otherwise |
dots | encode/decode dots (as for SMTP) |

#### Returns

a new GMimeFilterCRLF filter.

## Types and Values

### struct GMimeFilterCRLF

    struct GMimeFilterCRLF {
    	GMimeFilter parent_object;

    	gboolean encode;
    	gboolean dots;

    	gboolean saw_cr;
    	gboolean saw_lf;
    	gboolean saw_dot;
    };

A filter to convert between line-ending formats and encode/decode lines beginning with a '.'.

#### Members

GMimeFilter `parent_object`; | parent GMimeFilter |
gboolean `encode`; | encoding vs decoding line endings/dots |
gboolean `dots`; | `TRUE` if dot-stuffing should be performed or `FALSE` otherwise |
gboolean `saw_cr`; | `TRUE` if the previous char was a CR |
gboolean `saw_lf`; | `TRUE` if the previous char was a LF |
gboolean `saw_dot`; | `TRUE` if the previous char was a period |