projects
/
mmh
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Fix for bug #11139: mhl -form mhl.reply omits '> ' on some lines.
[mmh]
/
uip
/
mshcmds.c
diff --git
a/uip/mshcmds.c
b/uip/mshcmds.c
index
3d6e260
..
60f3413
100644
(file)
--- a/
uip/mshcmds.c
+++ b/
uip/mshcmds.c
@@
-3,6
+3,10
@@
* mshcmds.c -- command handlers in msh
*
* $Id$
* mshcmds.c -- command handlers in msh
*
* $Id$
+ *
+ * This code is Copyright (c) 2002, by the authors of nmh. See the
+ * COPYRIGHT file in the root directory of the nmh distribution for
+ * complete copyright information.
*/
#include <h/mh.h>
*/
#include <h/mh.h>
@@
-10,15
+14,15
@@
#include <h/dropsbr.h>
#include <h/fmt_scan.h>
#include <h/scansbr.h>
#include <h/dropsbr.h>
#include <h/fmt_scan.h>
#include <h/scansbr.h>
-#include <zotnet/tws/tws.h>
-#include <zotnet/mts/mts.h>
+#include <h/tws.h>
+#include <h/mts.h>
#include <errno.h>
#include <setjmp.h>
#include <signal.h>
#include <h/msh.h>
#include <h/picksbr.h>
#include <errno.h>
#include <setjmp.h>
#include <signal.h>
#include <h/msh.h>
#include <h/picksbr.h>
+#include <h/utils.h>
-extern int errno;
static char delim3[] = "-------"; /* from burst.c */
static char delim3[] = "-------"; /* from burst.c */
@@
-68,6
+72,8
@@
static int process (int, char *, int, char **);
static void copy_message (int, FILE *);
static void copy_digest (int, FILE *);
static void copy_message (int, FILE *);
static void copy_digest (int, FILE *);
+/* from mhlsbr.c */
+int mhlsbr (int, char **, FILE *(*)());
void
forkcmd (char **args, char *pgm)
void
forkcmd (char **args, char *pgm)
@@
-137,7
+143,7
@@
static struct swit distswit[] = {
#define DINWTSW 11
{ "nowhatnowproc", 0 },
#define DIHELP 12
#define DINWTSW 11
{ "nowhatnowproc", 0 },
#define DIHELP 12
- { "help", 4 },
+ { "help", 0 },
{ NULL, 0 }
};
{ NULL, 0 }
};
@@
-238,7
+244,7
@@
static struct swit explswit[] = {
#define EXNVBSW 5
{ "noverbose", 0 },
#define EXHELP 6
#define EXNVBSW 5
{ "noverbose", 0 },
#define EXHELP 6
- { "help", 4 },
+ { "help", 0 },
{ NULL, 0 }
};
{ NULL, 0 }
};
@@
-467,7
+473,7
@@
static struct swit fileswit[] = {
#define FINPRC 8
{ "normmproc", 0 },
#define FIHELP 9
#define FINPRC 8
{ "normmproc", 0 },
#define FIHELP 9
- { "help", 4 },
+ { "help", 0 },
{ NULL, 0 }
};
{ NULL, 0 }
};
@@
-587,7
+593,7
@@
filehak (char **args)
if (cwd == NULL)
cwd = getcpy (pwd ());
chdir (m_maildir (""));
if (cwd == NULL)
cwd = getcpy (pwd ());
chdir (m_maildir (""));
- cp = path (cp + 1, *cp == '+' ? TFOLDER : TSUBCWF);
+ cp = pluspath (cp);
if (access (m_maildir (cp), F_OK) == NOTOK)
result = OK;
free (cp);
if (access (m_maildir (cp), F_OK) == NOTOK)
result = OK;
free (cp);
@@
-631,7
+637,7
@@
static struct swit foldswit[] = {
#define FLLISW 14
{ "list", 0 },
#define FLHELP 15
#define FLLISW 14
{ "list", 0 },
#define FLHELP 15
- { "help", 4 },
+ { "help", 0 },
{ NULL, 0 }
};
{ NULL, 0 }
};
@@
-697,7
+703,7
@@
foldcmd (char **args)
return;
}
else
return;
}
else
- folder = fmsh ? path (cp + 1, *cp == '+' ? TFOLDER : TSUBCWF)
+ folder = fmsh ? pluspath (cp)
: cp + 1;
}
else
: cp + 1;
}
else
@@
-850,7
+856,7
@@
static struct swit forwswit[] = {
#define FONWTSW 16
{ "nowhatnow", 0 },
#define FOHELP 17
#define FONWTSW 16
{ "nowhatnow", 0 },
#define FOHELP 17
- { "help", 4 },
+ { "help", 0 },
{ NULL, 0 }
};
{ NULL, 0 }
};
@@
-1118,7
+1124,7
@@
static struct swit markswit[] = {
#define MNZERSW 7
{ "nozero", 0 },
#define MHELP 8
#define MNZERSW 7
{ "nozero", 0 },
#define MHELP 8
- { "help", 4 },
+ { "help", 0 },
#define MDBUGSW 9
{ "debug", -5 },
{ NULL, 0 }
#define MDBUGSW 9
{ "debug", -5 },
{ NULL, 0 }
@@
-1337,7
+1343,7
@@
static struct swit mhnswit[] = {
#define MHNNVERBSW 23
{ "noverbose", 0 },
#define MHNHELPSW 24
#define MHNNVERBSW 23
{ "noverbose", 0 },
#define MHNHELPSW 24
- { "help", 4 },
+ { "help", 0 },
#define MHNPROGSW 25
{ "moreproc program", -4 },
#define MHNNPROGSW 26
#define MHNPROGSW 25
{ "moreproc program", -4 },
#define MHNNPROGSW 26
@@
-1452,11
+1458,11
@@
static struct swit packswit[] = {
#define PAFISW 0
{ "file name", 0 },
#define PAHELP 1
#define PAFISW 0
{ "file name", 0 },
#define PAHELP 1
- { "help", 4 },
+ { "help", 0 },
{ NULL, 0 }
};
{ NULL, 0 }
};
-static mbx_style = MMDF_FORMAT;
+static int mbx_style = MMDF_FORMAT;
void
packcmd (char **args)
void
packcmd (char **args)
@@
-1630,7
+1636,7
@@
static struct swit pickswit[] = {
#define PINLISW 21
{ "nolist", 0 },
#define PIHELP 22
#define PINLISW 21
{ "nolist", 0 },
#define PIHELP 22
- { "help", 4 },
+ { "help", 0 },
{ NULL, 0 }
};
{ NULL, 0 }
};
@@
-1817,7
+1823,7
@@
static struct swit replswit[] = {
#define REWIDSW 19
{ "width columns", 0 },
#define REHELP 20
#define REWIDSW 19
{ "width columns", 0 },
#define REHELP 20
- { "help", 4 },
+ { "help", 0 },
{ NULL, 0 }
};
{ NULL, 0 }
};
@@
-1913,7
+1919,7
@@
replcmd (char **args)
static struct swit rmmswit[] = {
#define RMHELP 0
static struct swit rmmswit[] = {
#define RMHELP 0
- { "help", 4 },
+ { "help", 0 },
{ NULL, 0 }
};
{ NULL, 0 }
};
@@
-2042,7
+2048,7
@@
static struct swit scanswit[] = {
#define SCWID 6
{ "width columns", 0 },
#define SCHELP 7
#define SCWID 6
{ "width columns", 0 },
#define SCHELP 7
- { "help", 4 },
+ { "help", 0 },
{ NULL, 0 }
};
{ NULL, 0 }
};
@@
-2155,8
+2161,7
@@
scancmd (char **args)
if (*dp == '\\' || *dp == '"' || *dp == '\n')
i++;
i++;
if (*dp == '\\' || *dp == '"' || *dp == '\n')
i++;
i++;
- if ((ep = malloc ((unsigned) i)) == NULL)
- adios (NULL, "out of memory");
+ ep = mh_xmalloc ((unsigned) i);
for (dp = nfs, fp = ep; *dp; dp++) {
if (*dp == '\n') {
*fp++ = '\\', *fp++ = 'n';
for (dp = nfs, fp = ep; *dp; dp++) {
if (*dp == '\n') {
*fp++ = '\\', *fp++ = 'n';
@@
-2292,7
+2297,7
@@
static struct swit showswit[] = {
#define SHNHEAD 9
{ "noheader", 3 },
#define SHHELP 10
#define SHNHEAD 9
{ "noheader", 3 },
#define SHHELP 10
- { "help", 4 },
+ { "help", 0 },
{ NULL, 0 }
};
{ NULL, 0 }
};
@@
-2305,10
+2310,10
@@
showcmd (char **args)
char *cp, *proc = showproc, buf[BUFSIZ];
char *msgs[MAXARGS], *vec[MAXARGS];
char *cp, *proc = showproc, buf[BUFSIZ];
char *msgs[MAXARGS], *vec[MAXARGS];
- if (!strcasecmp (cmd_name, "next"))
+ if (!mh_strcasecmp (cmd_name, "next"))
mode = 1;
else
mode = 1;
else
- if (!strcasecmp (cmd_name, "prev"))
+ if (!mh_strcasecmp (cmd_name, "prev"))
mode = -1;
while ((cp = *args++)) {
if (*cp == '-')
mode = -1;
while ((cp = *args++)) {
if (*cp == '-')
@@
-2385,7
+2390,6
@@
showcmd (char **args)
for (msgnum = mp->lowsel; msgnum <= mp->hghsel; msgnum++)
if (is_selected (mp, msgnum) && is_nontext (msgnum)) {
proc = showmimeproc;
for (msgnum = mp->lowsel; msgnum <= mp->hghsel; msgnum++)
if (is_selected (mp, msgnum) && is_nontext (msgnum)) {
proc = showmimeproc;
- vec[vecp++] = "-show";
vec[vecp++] = "-file";
vec[vecp] = NULL;
goto finish;
vec[vecp++] = "-file";
vec[vecp] = NULL;
goto finish;
@@
-2561,7
+2565,7
@@
is_nontext (int msgnum)
/*
* Check Content-Type field
*/
/*
* Check Content-Type field
*/
- if (!strcasecmp (name, TYPE_FIELD)) {
+ if (!mh_strcasecmp (name, TYPE_FIELD)) {
int passno;
char c;
int passno;
char c;
@@
-2616,7
+2620,7
@@
invalid:
if (!*bp)
goto invalid;
if (passno > 1) {
if (!*bp)
goto invalid;
if (passno > 1) {
- if ((result = (strcasecmp (bp, "plain") != 0)))
+ if ((result = (mh_strcasecmp (bp, "plain") != 0)))
goto out;
*dp = c;
for (dp++; isspace (*dp); dp++)
goto out;
*dp = c;
for (dp++; isspace (*dp); dp++)
@@
-2648,7
+2652,7
@@
invalid:
/* Check the character set */
result = !check_charset (dp, strlen (dp));
} else {
/* Check the character set */
result = !check_charset (dp, strlen (dp));
} else {
- if (!(result = (strcasecmp (bp, "text") != 0))) {
+ if (!(result = (mh_strcasecmp (bp, "text") != 0))) {
*dp = c;
bp = dp;
passno = 2;
*dp = c;
bp = dp;
passno = 2;
@@
-2667,7
+2671,7
@@
out:
/*
* Check Content-Transfer-Encoding field
*/
/*
* Check Content-Transfer-Encoding field
*/
- if (!strcasecmp (name, ENCODING_FIELD)) {
+ if (!mh_strcasecmp (name, ENCODING_FIELD)) {
cp = add (buf, NULL);
while (state == FLDPLUS) {
state = m_getfld (state, name, buf, sizeof buf, fp);
cp = add (buf, NULL);
while (state == FLDPLUS) {
state = m_getfld (state, name, buf, sizeof buf, fp);
@@
-2678,9
+2682,9
@@
out:
for (dp = bp; istoken (*dp); dp++)
continue;
*dp = '\0';
for (dp = bp; istoken (*dp); dp++)
continue;
*dp = '\0';
- result = (strcasecmp (bp, "7bit")
- && strcasecmp (bp, "8bit")
- && strcasecmp (bp, "binary"));
+ result = (mh_strcasecmp (bp, "7bit")
+ && mh_strcasecmp (bp, "8bit")
+ && mh_strcasecmp (bp, "binary"));
free (cp);
if (result) {
free (cp);
if (result) {
@@
-2724,7
+2728,7
@@
static struct swit sortswit[] = {
#define SONVERB 6
{ "noverbose", 0 },
#define SOHELP 7
#define SONVERB 6
{ "noverbose", 0 },
#define SOHELP 7
- { "help", 4 },
+ { "help", 0 },
{ NULL, 0 }
};
{ NULL, 0 }
};
@@
-2864,7
+2868,7
@@
get_fields (char *datesw, char *subjsw, int msgnum, struct Msg *msgp)
case FLD:
case FLDEOF:
case FLDPLUS:
case FLD:
case FLDEOF:
case FLDPLUS:
- if (!strcasecmp (name, datesw)) {
+ if (!mh_strcasecmp (name, datesw)) {
bp = getcpy (buf);
while (state == FLDPLUS) {
state = m_getfld (state, name, buf, sizeof buf, zp);
bp = getcpy (buf);
while (state == FLDPLUS) {
state = m_getfld (state, name, buf, sizeof buf, zp);
@@
-2881,7
+2885,7
@@
get_fields (char *datesw, char *subjsw, int msgnum, struct Msg *msgp)
break; /* all done! */
gotdate++;
}
break; /* all done! */
gotdate++;
}
- else if (subjsw && !strcasecmp(name, subjsw)) {
+ else if (subjsw && !mh_strcasecmp(name, subjsw)) {
bp = getcpy (buf);
while (state == FLDPLUS) {
state = m_getfld (state, name, buf, sizeof buf, zp);
bp = getcpy (buf);
while (state == FLDPLUS) {
state = m_getfld (state, name, buf, sizeof buf, zp);
@@
-2961,7
+2965,7
@@
sosmash (char *subj, char *s)
if (s) {
cp = s;
dp = s; /* dst pointer */
if (s) {
cp = s;
dp = s; /* dst pointer */
- if (!strcasecmp (subj, "subject"))
+ if (!mh_strcasecmp (subj, "subject"))
while ((c = *cp)) {
if (! isspace(c)) {
if(uprf(cp, "re:"))
while ((c = *cp)) {
if (! isspace(c)) {
if(uprf(cp, "re:"))
@@
-3004,7
+3008,6
@@
process (int msgnum, char *proc, int vecp, char **vec)
strncpy (tmpfil, m_scratch ("", invo_name), sizeof(tmpfil));
if ((out = fopen (tmpfil, "w")) == NULL) {
int olderr;
strncpy (tmpfil, m_scratch ("", invo_name), sizeof(tmpfil));
if ((out = fopen (tmpfil, "w")) == NULL) {
int olderr;
- extern int errno;
char newfil[80];
olderr = errno;
char newfil[80];
olderr = errno;