static char rcsid[] = "@(#)$Id: mpar_leaf.c,v 1.9 2006/05/07 08:35:31 hurtta Exp $";
/******************************************************************************
* The Elm (ME+) Mail System - $Revision: 1.9 $ $State: Exp $
*
* Author: Kari Hurtta <hurtta+elm@posti.FMI.FI> (was hurtta+elm@ozone.FMI.FI)
*****************************************************************************/
#include "def_melib.h"
#include "mpar_imp.h"
#if 0
DEBUG_VAR(Debug,__FILE__,"mime");
#endif
#if ANSI_C
#define S_(x) static x;
#else
#define S_(x)
#endif
S_(mpar_alloc mpar_leaf_alloc)
static void mpar_leaf_alloc(D)
struct mime_parser_data *D;
{
D->p.any = NULL;
}
S_(mpar_free mpar_leaf_free)
static void mpar_leaf_free(D)
struct mime_parser_data *D;
{
D->p.any = NULL;
}
S_(mpar_parse mpar_leaf_parse)
static int mpar_leaf_parse(D,s,defcharset,fp,header_error)
struct mime_parser_data *D;
struct mimeinfo *s;
charset_t defcharset;
FILE *fp;
struct header_errors **header_error;
{
int ret = 1; /* Always succeed ... */
return ret;
}
S_(mpar_subparts mpar_leaf_subparts)
static int mpar_leaf_subparts(D)
struct mime_parser_data *D;
{
return 0;
}
S_(mpar_index mpar_leaf_index)
static struct mimeinfo *mpar_leaf_index(P,idx)
struct mime_parser_data *P;
int idx;
{
panic("MIME PARSER PANIC",__FILE__,__LINE__,"mpar_leaf_index",
"Index out of range",0);
return NULL;
}
S_(mpar_copy mpar_leaf_copy)
static void mpar_leaf_copy(T,S)
struct mime_parser_data *T;
struct mime_parser_data *S;
{
/* nothing */
}
static struct mime_parser leaf_PARSER = {
mpar_leaf_alloc,
mpar_leaf_free,
mpar_leaf_parse,
mpar_leaf_subparts,
mpar_leaf_index,
mpar_leaf_copy
};
#if __GNUC__
#define MTH struct media_type_handle
#define PARSER(A) handle_mime_parser, { parser_code: & A }
#define CAST1
#else
#define MTH struct COMPAT_media_type_handle
#define PARSER(A) handle_mime_parser, (void *) & A
#define CAST1 ( struct media_type_handle *)
#endif
static MTH leaf_parser_1 = { PARSER(leaf_PARSER) };
void register_leaf_parser() {
/* All except multipart */
register_mt_defhandler(MIME_TYPE_LEAF, CAST1 &leaf_parser_1);
/* for message/rfc822 there is own parser, it should apply
before default parser...
*/
register_mt_defhandler(MIME_TYPE_MESSAGE, CAST1 &leaf_parser_1);
}
/*
* Local Variables:
* mode:c
* c-basic-offset:4
* buffer-file-coding-system: iso-8859-1
* End:
*/
syntax highlighted by Code2HTML, v. 0.9.1