void show_all_messages(CT *cts, int concat, int textonly, int inlineonly,
char *markerform);
+/*
+ * Display (or store) a single MIME part using the specified command
+ *
+ * Arguments are:
+ *
+ * ct - The Content structure of the MIME part we wish to display
+ * alternate - Set this to true if this is one part of a MIME
+ * multipart/alternative part. Will suppress some errors and
+ * will cause the function to return DONE instead of OK on
+ * success.
+ * cp - The command string to execute. Will be run through the
+ * parser for %-escapes as described in mhshow(1).
+ * cracked - If set, chdir() to this directory before executing the
+ * command in "cp". Only used by mhstore(1).
+ * fmt - A series of mh-format(5) instructions to execute if the
+ * command string indicates a marker is desired. Can be NULL.
+ *
+ * Returns NOTOK if we could not display the part, DONE if alternate was
+ * set and we could display the part, and OK if alternate was not set and
+ * we could display the part.
+ */
+struct format;
+int show_content_aux(CT ct, int alternate, char *cp, char *cracked,
+ struct format *fmt);
+
extern int checksw; /* Add Content-MD5 field */
extern int skip_mp_cte_check; /* flag to InitMultiPart */
extern int suppress_bogus_mp_content_warning; /* flag to InitMultiPart */
extern int bogus_mp_content; /* flag from InitMultiPart */
-CT parse_mime (char *);
void reverse_parts (CT);
/* mhoutsbr.c */
int output_message (CT, char *);
-/* mhshowsbr.c */
-int show_content_aux (CT, int, char *, char *);
-
/* mhmisc.c */
void flush_errors (void);
free (cp);
cp = concat (cf, " >", file, NULL);
- status = show_content_aux (ct, 0, cp, NULL);
+ status = show_content_aux (ct, 0, cp, NULL, NULL);
free (cp);
/* Unlink decoded content tmp file and free its filename to avoid
void content_error (char *, CT, char *, ...);
void flush_errors (void);
-/*
- * prototypes
- */
-int show_content_aux (CT, int, char *, char *, struct format *fmt);
-
/*
* static prototypes
*/
fprintf (stderr, " using command %s\n", buffer);
}
- if (xlist) {
+ if (xlist && fmt) {
output_marker(ct, fmt, 0);
}
int type_ok (CT, int);
void flush_errors (void);
-/* mhshowsbr.c */
-int show_content_aux (CT, int, int, char *, char *);
-
/*
* prototypes
*/
* content to standard input of a command and return.
*/
if (buffer[0] == '|' || buffer[0] == '!')
- return show_content_aux (ct, 1, 0, buffer + 1, info->dir);
+ return show_content_aux (ct, 0, buffer + 1, info->dir, NULL);
/* record the filename */
if ((ct->c_storage = clobber_check (add (buffer, NULL), info)) ==