diff options
| author | Sam Varshavchik | 2013-08-19 16:39:41 -0400 | 
|---|---|---|
| committer | Sam Varshavchik | 2013-08-25 14:43:51 -0400 | 
| commit | 9c45d9ad13fdf439d44d7443ae75da15ea0223ed (patch) | |
| tree | 7a81a04cb51efb078ee350859a64be2ebc6b8813 /rfc2045/rfc2045searchcontenttype.c | |
| parent | a9520698b770168d1f33d6301463bb70a19655ec (diff) | |
| download | courier-libs-9c45d9ad13fdf439d44d7443ae75da15ea0223ed.tar.bz2 | |
Initial checkin
Imported from subversion report, converted to git. Updated all paths in
scripts and makefiles, reflecting the new directory hierarchy.
Diffstat (limited to 'rfc2045/rfc2045searchcontenttype.c')
| -rw-r--r-- | rfc2045/rfc2045searchcontenttype.c | 41 | 
1 files changed, 41 insertions, 0 deletions
| diff --git a/rfc2045/rfc2045searchcontenttype.c b/rfc2045/rfc2045searchcontenttype.c new file mode 100644 index 0000000..50ce267 --- /dev/null +++ b/rfc2045/rfc2045searchcontenttype.c @@ -0,0 +1,41 @@ +/* +** Copyright 2000 Double Precision, Inc.  See COPYING for +** distribution information. +*/ + +#include "rfc2045_config.h" +#include	"rfc2045.h" + + +/* +** This function is generally called to find the "primary" text/plain +** section in a MIME message which, presumably, contains the main message +** text. +** +** Still the content type is set as a parameter in the event, I guess, we'll +** ever be able to grok text/html. +** +** We'll return a NULL pointer if we can't find it. +*/ + +struct rfc2045 *rfc2045_searchcontenttype(struct rfc2045 *rfc, const char *ct) +{ +	const	char *content_type, *dummy; +	struct rfc2045 *p; + +        rfc2045_mimeinfo(rfc, &content_type, &dummy, &dummy); +	if (strcmp(content_type, ct) == 0) +		return (rfc); + +	for (p=rfc->firstpart; p; p=p->next) +	{ +		if (p->isdummy)	continue; +		rfc2045_mimeinfo(p, &content_type, &dummy, &dummy); +		if (strcmp(content_type, ct) == 0) +			break; +		if (strncmp(content_type, "multipart/", 10) == 0) +			return(rfc2045_searchcontenttype(p, ct)); +	} + +	return (p); +} | 
