Difference between revisions of "Header (filter)"

From Mailutils
Jump to navigationJump to search
m
m
Line 8: Line 8:
 
   mu_stream_t input; /* Input stream */
 
   mu_stream_t input; /* Input stream */
  
   initialize_input_stream (&stream);
+
   initialize_input_stream (&input);
   rc = mu_filter_stream_create (&flt, input, "header", MU_FILTER_DECODE, MU_STREAM_READ);
+
   rc = mu_filter_create (&flt, input, "header", MU_FILTER_DECODE, MU_STREAM_READ);
 
</source>
 
</source>
  

Revision as of 19:08, 5 September 2015

The header filter regards its input as a RFC-822 email message. It extracts its header part (i.e. everything up to the first empty line) and copies it to the output. The body of the message is ignored. The filter operates only in decode mode.

An example of its usage:

  int rc;          /* Return code */
  mu_stream_t flt; /* Filter stream */
  mu_stream_t input; /* Input stream */

  initialize_input_stream (&input);
  rc = mu_filter_create (&flt, input, "header", MU_FILTER_DECODE, MU_STREAM_READ);

Input lines must be separated by single "\n" (LF) characters. If you want this filter to operate on CRLF-separated lines, chain it with a CRLF filter, as shown in the example below:

  int rc;          /* Return code */
  mu_stream_t flt; /* Filter stream */
  char *argv[] = { "CRLF", "+", "header", NULL };

  rc = mu_filter_chain_create (&flt, input, MU_FILTER_DECODE, MU_STREAM_READ, 3, argv);

See also