/* We only reach this point if there have been no errors */
if (use_pager) {
- pager_t info;
- p_clear(&info, 1);
-
- info.fp = fp;
- info.bdy = a;
- info.ctx = Context;
- info.idx = idx;
- info.idxlen = idxlen;
- info.hdr = hdr;
-
- rc = mutt_do_pager(descrip, pagerfile,
- M_PAGER_ATTACHMENT | (is_message ? M_PAGER_MESSAGE : 0),
- &info);
+ pager_t info = { Context, hdr, a, fp, idx, idxlen };
+ rc = mutt_pager(descrip, pagerfile,
+ M_PAGER_ATTACHMENT | (is_message ? M_PAGER_MESSAGE : 0),
+ &info);
*pagerfile = '\0';
}
else
int mutt_display_message (HEADER * cur)
{
char tempfile[_POSIX_PATH_MAX], buf[LONG_STRING];
- int rc = 0, builtin = 0;
int cmflags = M_CM_DECODE | M_CM_DISPLAY | M_CM_CHARCONV;
FILE *fpout = NULL;
FILE *fpfilterout = NULL;
}
}
- if (!Pager || m_strcmp(Pager, "builtin") == 0)
- builtin = 1;
- else {
- mutt_make_string (buf, sizeof (buf), NONULL (PagerFmt), Context, cur);
- fputs (buf, fpout);
- fputs ("\n\n", fpout);
- }
-
msg = mx_open_message (Context, cur->msgno);
if (msg == NULL) res = -1;
are color patterns for both ~g and ~V */
cur->pair = 0;
- if (builtin) {
- pager_t info;
-
- if ((cur->security & APPLICATION_SMIME) && (cmflags & M_CM_VERIFY)) {
- if (cur->security & GOODSIGN) {
- if (!crypt_smime_verify_sender (cur))
- mutt_message (_("S/MIME signature successfully verified."));
- else
- mutt_error (_("S/MIME certificate owner does not match sender."));
- }
- else if (cur->security & PARTSIGN)
- mutt_message (_
- ("Warning: Part of this message has not been signed."));
- else if (cur->security & SIGN || cur->security & BADSIGN)
- mutt_error (_("S/MIME signature could NOT be verified."));
+ if ((cur->security & APPLICATION_SMIME) && (cmflags & M_CM_VERIFY)) {
+ if (cur->security & GOODSIGN) {
+ if (!crypt_smime_verify_sender (cur))
+ mutt_message (_("S/MIME signature successfully verified."));
+ else
+ mutt_error (_("S/MIME certificate owner does not match sender."));
}
+ else if (cur->security & PARTSIGN)
+ mutt_message (_
+ ("Warning: Part of this message has not been signed."));
+ else if (cur->security & SIGN || cur->security & BADSIGN)
+ mutt_error (_("S/MIME signature could NOT be verified."));
+ }
- if ((cur->security & APPLICATION_PGP) && (cmflags & M_CM_VERIFY)) {
- if (cur->security & GOODSIGN)
- mutt_message (_("PGP signature successfully verified."));
- else if (cur->security & PARTSIGN)
- mutt_message (_
- ("Warning: Part of this message has not been signed."));
- else if (cur->security & SIGN)
- mutt_message (_("PGP signature could NOT be verified."));
- }
+ if ((cur->security & APPLICATION_PGP) && (cmflags & M_CM_VERIFY)) {
+ if (cur->security & GOODSIGN)
+ mutt_message (_("PGP signature successfully verified."));
+ else if (cur->security & PARTSIGN)
+ mutt_message (_
+ ("Warning: Part of this message has not been signed."));
+ else if (cur->security & SIGN)
+ mutt_message (_("PGP signature could NOT be verified."));
+ }
+
+ {
+ pager_t info;
- /* Invoke the builtin pager */
p_clear(&info, 1);
info.hdr = cur;
info.ctx = Context;
- rc = mutt_pager (NULL, tempfile, M_PAGER_MESSAGE, &info);
- }
- else {
- int r;
-
- mutt_endwin (NULL);
- snprintf (buf, sizeof (buf), "%s %s", NONULL (Pager), tempfile);
- if ((r = mutt_system (buf)) == -1)
- mutt_error (_("Error running \"%s\"!"), buf);
- unlink (tempfile);
- keypad (stdscr, TRUE);
- if (r != -1)
- mutt_set_flag (Context, cur, M_READ, 1);
- if (r != -1 && option (OPTPROMPTAFTER)) {
- mutt_ungetch (mutt_any_key_to_continue _("Command: "), 0);
- rc = km_dokey (MENU_PAGER);
- }
- else
- rc = 0;
+ return mutt_pager (NULL, tempfile, M_PAGER_MESSAGE, &info);
}
-
- return rc;
}
void ci_bounce_message (HEADER * h, int *redraw)
m_fclose(&fp);
mutt_clear_error ();
snprintf (cmd, sizeof (cmd), _("Key ID: 0x%s"), crypt_keyid (key));
- mutt_do_pager (cmd, tempfile, 0, NULL);
+ mutt_pager(cmd, tempfile, 0, NULL);
}
/* Implementation of `findkeys'. */
WHERE char *NntpPass;
WHERE char *NewsRc;
#endif
-WHERE char *Pager;
WHERE char *PagerFmt;
WHERE char *PipeSep;
}
if (ismacro > 0) {
- if (!m_strcmp(Pager, "builtin"))
- fputs ("_\010", f);
- fputs ("M ", f);
+ fputs ("_\010M ", f);
col += 2;
if (!split) {
print_macro (f, n, &t3);
if (*t3) {
- if (m_strcmp(Pager, "builtin")) {
- fputc ('\n', f);
- n = 0;
- }
- else {
- n += col - COLS;
- if (option (OPTMARKERS))
- ++n;
- }
+ n += col - COLS;
+ if (option (OPTMARKERS))
+ ++n;
col = pad (f, n, col_b);
}
}
m_fclose(&f);
snprintf(buf, sizeof (buf), _("Help for %s"), desc);
- } while (mutt_do_pager(buf, tmp,
- M_PAGER_RETWINCH | M_PAGER_MARKER | M_PAGER_NSKIP,
- NULL) == OP_REFORMAT_WINCH);
+ } while (mutt_pager(buf, tmp,
+ M_PAGER_RETWINCH | M_PAGER_MARKER | M_PAGER_NSKIP,
+ NULL) == OP_REFORMAT_WINCH);
}
** .pp
** See also ``$$read_inc'' and ``$$write_inc''.
*/
- {"pager", DT_PATH, R_NONE, UL &Pager, "builtin"},
- /*
- ** .pp
- ** This variable specifies which pager you would like to use to view
- ** messages. ``builtin'' means to use the builtin pager, otherwise this
- ** variable should specify the pathname of the external pager you would
- ** like to use.
- ** .pp
- ** Using an external pager may have some disadvantages: Additional
- ** keystrokes are necessary because you can't call Madmutt functions
- ** directly from the pager, and screen resizes cause lines longer than
- ** the screen width to be badly formatted in the help menu.
- */
{"pager_context", DT_NUM, R_NONE, UL &PagerContext, "0" },
/*
** .pp
return (ch);
}
-int mutt_do_pager (const char *banner,
- const char *tempfile, int do_color, pager_t * info)
-{
- int rc;
-
- if (!Pager || m_strcmp(Pager, "builtin") == 0)
- rc = mutt_pager (banner, tempfile, do_color, info);
- else {
- char cmd[STRING];
-
- mutt_endwin (NULL);
- m_quotefile_fmt(cmd, sizeof (cmd), Pager, tempfile);
- if (mutt_system (cmd) == -1) {
- mutt_error (_("Error running \"%s\"!"), cmd);
- rc = -1;
- }
- else
- rc = 0;
- mutt_unlink (tempfile);
- }
-
- return rc;
-}
-
int _mutt_enter_fname (const char *prompt, char *buf, ssize_t blen,
int *redraw, int buffy, int multiple, char ***files,
int *numfiles)
goto fail;
}
- rc = (sasldata->msasl_write)(conn, pbuf, plen);
+ plen -= (sasldata->msasl_write)(conn, pbuf, plen);
p_delete(&pbuf);
- if (rc != plen)
+ if (plen)
goto fail;
len -= olen;
short idxlen;
} pager_t;
-int mutt_do_pager (const char *, const char *, int, pager_t *);
-int mutt_pager (const char *, const char *, int, pager_t *);
+int mutt_pager(const char *, const char *, int, pager_t *);
#endif /* !_MUTT_PAGER_H */
struct stat st;
if (!stat(childout, &st) && st.st_size > 0)
- mutt_do_pager(_("Output of the delivery process"), childout, 0,
- NULL);
+ mutt_pager(_("Output of the delivery process"), childout, 0, NULL);
}
}
} else {
void state_mark_attach (STATE * s)
{
- if ((s->flags & M_DISPLAY) && !m_strcmp(Pager, "builtin"))
+ if (s->flags & M_DISPLAY)
state_puts (AttachmentMarker, s);
}