+
+/* This function allows the user to specify a command to read stdout from in
+ place of a normal file. If the last character in the string is a pipe (|),
+ then we assume it is a commmand to run instead of a normal file. */
+FILE *mutt_open_read (const char *path, pid_t * thepid)
+{
+ int len = m_strlen(path);
+ FILE *f;
+
+ if (path[len - 1] == '|') {
+ char *s = m_strdup(path);
+
+ /* read from a pipe */
+
+ s[len - 1] = 0;
+ mutt_endwin (NULL);
+ *thepid = mutt_create_filter (s, NULL, &f, NULL);
+ p_delete(&s);
+ } else {
+ f = fopen (path, "r");
+ if (!f)
+ return NULL;
+ *thepid = -1;
+ }
+
+ return (f);
+}
+