mail(1): Update more prototypes.

Also rename delete and undelete_messages to deletecmd and undeletecmd
respectively in an attempt to sync with other BSDs.

Obtained from:	OpenBSD
This commit is contained in:
Pedro F. Giffuni 2016-07-15 15:37:54 +00:00
parent 8d570f64aa
commit b948550d2f
Notes: svn2git 2020-12-20 02:59:44 +00:00
svn path=/head/; revision=302903
6 changed files with 123 additions and 96 deletions

View File

@ -44,8 +44,6 @@ __FBSDID("$FreeBSD$");
* User commands. * User commands.
*/ */
extern const struct cmd cmdtab[];
/* /*
* Print the current active headings. * Print the current active headings.
* Don't change dot if invoker didn't give an argument. * Don't change dot if invoker didn't give an argument.
@ -54,8 +52,9 @@ extern const struct cmd cmdtab[];
static int screen; static int screen;
int int
headers(int *msgvec) headers(void *v)
{ {
int *msgvec = v;
int n, mesg, flag, size; int n, mesg, flag, size;
struct message *mp; struct message *mp;
@ -93,8 +92,9 @@ headers(int *msgvec)
* Scroll to the next/previous screen * Scroll to the next/previous screen
*/ */
int int
scroll(char arg[]) scroll(void *v)
{ {
char *arg = v;
int s, size; int s, size;
int cur[1]; int cur[1];
@ -146,8 +146,9 @@ screensize(void)
* in the passed message list. * in the passed message list.
*/ */
int int
from(int *msgvec) from(void *v)
{ {
int *msgvec = v;
int *ip; int *ip;
for (ip = msgvec; *ip != 0; ip++) for (ip = msgvec; *ip != 0; ip++)
@ -220,6 +221,7 @@ pdot(void)
int int
pcmdlist(void) pcmdlist(void)
{ {
extern const struct cmd cmdtab[];
const struct cmd *cp; const struct cmd *cp;
int cc; int cc;
@ -242,8 +244,9 @@ pcmdlist(void)
* Paginate messages, honor ignored fields. * Paginate messages, honor ignored fields.
*/ */
int int
more(int *msgvec) more(void *v)
{ {
int *msgvec = v;
return (type1(msgvec, 1, 1)); return (type1(msgvec, 1, 1));
} }
@ -252,8 +255,9 @@ more(int *msgvec)
* Paginate messages, even printing ignored fields. * Paginate messages, even printing ignored fields.
*/ */
int int
More(int *msgvec) More(void *v)
{ {
int *msgvec = v;
return (type1(msgvec, 0, 1)); return (type1(msgvec, 0, 1));
} }
@ -262,8 +266,9 @@ More(int *msgvec)
* Type out messages, honor ignored fields. * Type out messages, honor ignored fields.
*/ */
int int
type(int *msgvec) type(void *v)
{ {
int *msgvec = v;
return (type1(msgvec, 1, 0)); return (type1(msgvec, 1, 0));
} }
@ -272,8 +277,9 @@ type(int *msgvec)
* Type out messages, even printing ignored fields. * Type out messages, even printing ignored fields.
*/ */
int int
Type(int *msgvec) Type(void *v)
{ {
int *msgvec = v;
return (type1(msgvec, 0, 0)); return (type1(msgvec, 0, 0));
} }
@ -355,8 +361,9 @@ brokpipe(int signo __unused)
* and defaults to 5. * and defaults to 5.
*/ */
int int
top(int *msgvec) top(void *v)
{ {
int *msgvec = v;
int *ip; int *ip;
struct message *mp; struct message *mp;
int c, topl, lines, lineb; int c, topl, lines, lineb;
@ -396,8 +403,9 @@ top(int *msgvec)
* get mboxed. * get mboxed.
*/ */
int int
stouch(int msgvec[]) stouch(void *v)
{ {
int *msgvec = v;
int *ip; int *ip;
for (ip = msgvec; *ip != 0; ip++) { for (ip = msgvec; *ip != 0; ip++) {
@ -412,8 +420,9 @@ stouch(int msgvec[])
* Make sure all passed messages get mboxed. * Make sure all passed messages get mboxed.
*/ */
int int
mboxit(int msgvec[]) mboxit(void *v)
{ {
int *msgvec = v;
int *ip; int *ip;
for (ip = msgvec; *ip != 0; ip++) { for (ip = msgvec; *ip != 0; ip++) {

View File

@ -53,9 +53,10 @@ extern int wait_status;
* If given as first command with no arguments, print first message. * If given as first command with no arguments, print first message.
*/ */
int int
next(int *msgvec) next(void *v)
{ {
struct message *mp; struct message *mp;
int *msgvec = v;
int *ip, *ip2, list[2], mdot; int *ip, *ip2, list[2], mdot;
if (*msgvec != 0) { if (*msgvec != 0) {
@ -210,8 +211,9 @@ save1(char str[], int mark, const char *cmd, struct ignoretab *ignore)
* file name, minus header and trailing blank line. * file name, minus header and trailing blank line.
*/ */
int int
swrite(char str[]) swrite(void *v)
{ {
char *str = v;
return (save1(str, 1, "write", ignoreall)); return (save1(str, 1, "write", ignoreall));
} }
@ -226,7 +228,7 @@ swrite(char str[])
*/ */
char * char *
snarf(char linebuf[], int *flag) snarf(char *linebuf, int *flag)
{ {
char *cp; char *cp;
@ -262,8 +264,9 @@ snarf(char linebuf[], int *flag)
* Delete messages. * Delete messages.
*/ */
int int
delete(int msgvec[]) deletecmd(void *v)
{ {
int *msgvec = v;
delm(msgvec); delm(msgvec);
return (0); return (0);
@ -273,8 +276,9 @@ delete(int msgvec[])
* Delete messages, then type the new dot. * Delete messages, then type the new dot.
*/ */
int int
deltype(int msgvec[]) deltype(void *v)
{ {
int *msgvec = v;
int list[2]; int list[2];
int lastdot; int lastdot;
@ -335,10 +339,11 @@ delm(int *msgvec)
* Undelete the indicated messages. * Undelete the indicated messages.
*/ */
int int
undelete_messages(int *msgvec) undeletecmd(void *v)
{ {
struct message *mp; int *msgvec = v;
int *ip; int *ip;
struct message *mp;
for (ip = msgvec; *ip && ip-msgvec < msgCount; ip++) { for (ip = msgvec; *ip && ip-msgvec < msgCount; ip++) {
mp = &message[*ip - 1]; mp = &message[*ip - 1];
@ -412,8 +417,9 @@ clob1(int n)
* If no arguments, print the current list of retained fields. * If no arguments, print the current list of retained fields.
*/ */
int int
retfield(char *list[]) retfield(void *v)
{ {
char **list = v;
return (ignore1(list, ignore + 1, "retained")); return (ignore1(list, ignore + 1, "retained"));
} }
@ -423,33 +429,36 @@ retfield(char *list[])
* If no arguments, print the current list of ignored fields. * If no arguments, print the current list of ignored fields.
*/ */
int int
igfield(char *list[]) igfield(void *v)
{ {
char **list = v;
return (ignore1(list, ignore, "ignored")); return (ignore1(list, ignore, "ignored"));
} }
int int
saveretfield(char *list[]) saveretfield(void *v)
{ {
char **list = v;
return (ignore1(list, saveignore + 1, "retained")); return (ignore1(list, saveignore + 1, "retained"));
} }
int int
saveigfield(char *list[]) saveigfield(void *v)
{ {
char **list = v;
return (ignore1(list, saveignore, "ignored")); return (ignore1(list, saveignore, "ignored"));
} }
int int
ignore1(char *list[], struct ignoretab *tab, const char *which) ignore1(char **list, struct ignoretab *tab, const char *which)
{ {
char field[LINESIZE]; char field[LINESIZE];
int h;
struct ignore *igp;
char **ap; char **ap;
struct ignore *igp;
int h;
if (*list == NULL) if (*list == NULL)
return (igshow(tab, which)); return (igshow(tab, which));

View File

@ -163,8 +163,9 @@ help(void)
* Change user's working directory. * Change user's working directory.
*/ */
int int
schdir(char **arglist) schdir(void *v)
{ {
char **arglist = v;
char *cp; char *cp;
if (*arglist == NULL) { if (*arglist == NULL) {
@ -182,8 +183,10 @@ schdir(char **arglist)
} }
int int
respond(int *msgvec) respond(void *v)
{ {
int *msgvec = v;
if (value("Replyall") == NULL && value("flipr") == NULL) if (value("Replyall") == NULL && value("flipr") == NULL)
return (dorespond(msgvec)); return (dorespond(msgvec));
else else
@ -280,8 +283,9 @@ reedit(char *subj)
* back to the system mailbox. * back to the system mailbox.
*/ */
int int
preserve(int *msgvec) preserve(void *v)
{ {
int *msgvec = v;
int *ip, mesg; int *ip, mesg;
struct message *mp; struct message *mp;
@ -303,8 +307,9 @@ preserve(int *msgvec)
* Mark all given messages as unread. * Mark all given messages as unread.
*/ */
int int
unread(int msgvec[]) unread(void *v)
{ {
int *msgvec = v;
int *ip; int *ip;
for (ip = msgvec; *ip != 0; ip++) { for (ip = msgvec; *ip != 0; ip++) {
@ -319,8 +324,9 @@ unread(int msgvec[])
* Print the size of each message. * Print the size of each message.
*/ */
int int
messize(int *msgvec) messize(void *v)
{ {
int *msgvec = v;
struct message *mp; struct message *mp;
int *ip, mesg; int *ip, mesg;
@ -337,7 +343,7 @@ messize(int *msgvec)
* by returning an error. * by returning an error.
*/ */
int int
rexit(int e __unused) rexit(void *v)
{ {
if (sourcing) if (sourcing)
return (1); return (1);
@ -350,8 +356,9 @@ rexit(int e __unused)
* of csh. * of csh.
*/ */
int int
set(char **arglist) set(void *v)
{ {
char **arglist = v;
struct var *vp; struct var *vp;
char *cp, *cp2; char *cp, *cp2;
char varbuf[BUFSIZ], **ap, **p; char varbuf[BUFSIZ], **ap, **p;
@ -396,8 +403,9 @@ set(char **arglist)
* Unset a bunch of variable values. * Unset a bunch of variable values.
*/ */
int int
unset(char **arglist) unset(void *v)
{ {
char **arglist = v;
struct var *vp, *vp2; struct var *vp, *vp2;
int errs, h; int errs, h;
char **ap; char **ap;
@ -435,8 +443,9 @@ unset(char **arglist)
* Put add users to a group. * Put add users to a group.
*/ */
int int
group(char **argv) group(void *v)
{ {
char **argv = v;
struct grouphead *gh; struct grouphead *gh;
struct group *gp; struct group *gp;
char **ap, *gname, **p; char **ap, *gname, **p;

View File

@ -58,10 +58,10 @@ const struct cmd cmdtab[] = {
{ "top", top, MSGLIST, 0, MMNDEL }, { "top", top, MSGLIST, 0, MMNDEL },
{ "touch", stouch, W|MSGLIST, 0, MMNDEL }, { "touch", stouch, W|MSGLIST, 0, MMNDEL },
{ "preserve", preserve, W|MSGLIST, 0, MMNDEL }, { "preserve", preserve, W|MSGLIST, 0, MMNDEL },
{ "delete", delete, W|P|MSGLIST, 0, MMNDEL }, { "delete", deletecmd, W|P|MSGLIST, 0, MMNDEL },
{ "dp", deltype, W|MSGLIST, 0, MMNDEL }, { "dp", deltype, W|MSGLIST, 0, MMNDEL },
{ "dt", deltype, W|MSGLIST, 0, MMNDEL }, { "dt", deltype, W|MSGLIST, 0, MMNDEL },
{ "undelete", undelete_messages, P|MSGLIST, MDELETED,MMNDEL }, { "undelete", undeletecmd, P|MSGLIST, MDELETED,MMNDEL },
{ "unset", unset, M|RAWLIST, 1, 1000 }, { "unset", unset, M|RAWLIST, 1, 1000 },
{ "mail", sendmail, R|M|I|STRLIST, 0, 0 }, { "mail", sendmail, R|M|I|STRLIST, 0, 0 },
{ "mbox", mboxit, W|MSGLIST, 0, 0 }, { "mbox", mboxit, W|MSGLIST, 0, 0 },

View File

@ -32,11 +32,11 @@
*/ */
struct name *cat(struct name *, struct name *); struct name *cat(struct name *, struct name *);
struct name *delname(struct name *, char []); struct name *delname(struct name *, char *);
struct name *elide(struct name *); struct name *elide(struct name *);
struct name *extract(char [], int); struct name *extract(char *, int);
struct name *gexpand(struct name *, struct grouphead *, int, int); struct name *gexpand(struct name *, struct grouphead *, int, int);
struct name *nalloc(char [], int); struct name *nalloc(char *, int);
struct name *outof(struct name *, FILE *, struct header *); struct name *outof(struct name *, FILE *, struct header *);
struct name *put(struct name *, struct name *); struct name *put(struct name *, struct name *);
struct name *tailof(struct name *); struct name *tailof(struct name *);
@ -52,11 +52,11 @@ char *getdeadletter(void);
char *getname(uid_t); char *getname(uid_t);
char *hfield(const char *, struct message *); char *hfield(const char *, struct message *);
FILE *infix(struct header *, FILE *); FILE *infix(struct header *, FILE *);
char *ishfield(char [], char *, const char *); char *ishfield(char *, char *, const char *);
char *name1(struct message *, int); char *name1(struct message *, int);
char *nameof(struct message *, int); char *nameof(struct message *, int);
char *nextword(char *, char *); char *nextword(char *, char *);
char *readtty(const char *, char []); char *readtty(const char *, char *);
char *reedit(char *); char *reedit(char *);
FILE *run_editor(FILE *, off_t, int, int); FILE *run_editor(FILE *, off_t, int, int);
char *salloc(int); char *salloc(int);
@ -64,18 +64,18 @@ char *savestr(char *);
FILE *setinput(struct message *); FILE *setinput(struct message *);
char *skin(char *); char *skin(char *);
char *skip_comment(char *); char *skip_comment(char *);
char *snarf(char [], int *); char *snarf(char *, int *);
char *username(void); char *username(void);
char *value(const char *); char *value(const char *);
char *vcopy(const char *); char *vcopy(const char *);
char *yankword(char *, char []); char *yankword(char *, char *);
char *yanklogin(char *, char []); char *yanklogin(char *, char *);
int Fclose(FILE *); int Fclose(FILE *);
int More(int *); int More(void *);
int Pclose(FILE *); int Pclose(FILE *);
int Respond(int *); int Respond(int *);
int Type(int *); int Type(void *);
int doRespond(int []); int doRespond(int *);
int dorespond(int *); int dorespond(int *);
void alter(char *); void alter(char *);
int alternates(char **); int alternates(char **);
@ -98,9 +98,9 @@ void commands(void);
int copycmd(void *v); int copycmd(void *v);
int core(void); int core(void);
int count(struct name *); int count(struct name *);
int delete(int []); int deletecmd(void *);
int delm(int []); int delm(int *);
int deltype(int []); int deltype(void *);
void demail(void); void demail(void);
int diction(const void *, const void *); int diction(const void *, const void *);
int dosh(char *); int dosh(char *);
@ -111,51 +111,51 @@ void edstop(void);
int elsecmd(void); int elsecmd(void);
int endifcmd(void); int endifcmd(void);
int evalcol(int); int evalcol(int);
int execute(char [], int); int execute(char *, int);
int exwrite(char [], FILE *, int); int exwrite(char *, FILE *, int);
void fail(const char *, const char *); void fail(const char *, const char *);
int file(char **); int file(char **);
struct grouphead * struct grouphead *
findgroup(char []); findgroup(char *);
void findmail(char *, char *, int); void findmail(char *, char *, int);
int first(int, int); int first(int, int);
void fixhead(struct header *, struct name *); void fixhead(struct header *, struct name *);
void fmt(const char *, struct name *, FILE *, int); void fmt(const char *, struct name *, FILE *, int);
int folders(void); int folders(void);
int forward(char [], FILE *, char *, int); int forward(char *, FILE *, char *, int);
void free_child(int); void free_child(int);
int from(int *); int from(void *);
off_t fsize(FILE *); off_t fsize(FILE *);
int getfold(char *, int); int getfold(char *, int);
int gethfield(FILE *, char [], int, char **); int gethfield(FILE *, char *, int, char **);
int getmsglist(char *, int *, int); int getmsglist(char *, int *, int);
int getrawlist(char [], char **, int); int getrawlist(char *, char **, int);
uid_t getuserid(char []); uid_t getuserid(char *);
int grabh(struct header *, int); int grabh(struct header *, int);
int group(char **); int group(void *);
void hangup(int); void hangup(int);
int hash(const char *); int hash(const char *);
void hdrstop(int); void hdrstop(int);
int headers(int *); int headers(void *);
int help(void); int help(void);
void holdsigs(void); void holdsigs(void);
int ifcmd(char **); int ifcmd(char **);
int igcomp(const void *, const void *); int igcomp(const void *, const void *);
int igfield(char *[]); int igfield(void *);
int ignore1(char *[], struct ignoretab *, const char *); int ignore1(char **, struct ignoretab *, const char *);
int igshow(struct ignoretab *, const char *); int igshow(struct ignoretab *, const char *);
int inc(void *); int inc(void *);
int incfile(void); int incfile(void);
void intr(int); void intr(int);
int isdate(char []); int isdate(char *);
int isdir(char []); int isdir(char *);
int isfileaddr(char *); int isfileaddr(char *);
int ishead(char []); int ishead(char *);
int isign(const char *, struct ignoretab []); int isign(const char *, struct ignoretab []);
int isprefix(const char *, const char *); int isprefix(const char *, const char *);
void istrncpy(char *, const char *, size_t); void istrncpy(char *, const char *, size_t);
const struct cmd * const struct cmd *
lex(char []); lex(char *);
void load(char *); void load(char *);
struct var * struct var *
lookup(const char *); lookup(const char *);
@ -164,26 +164,26 @@ int mail(struct name *,
void mail1(struct header *, int); void mail1(struct header *, int);
void makemessage(FILE *, int); void makemessage(FILE *, int);
void mark(int); void mark(int);
int markall(char [], int); int markall(char *, int);
int matchsender(char *, int); int matchsender(char *, int);
int matchfield(char *, int); int matchfield(char *, int);
int mboxit(int []); int mboxit(void *);
int member(char *, struct ignoretab *); int member(char *, struct ignoretab *);
void mesedit(FILE *, int); void mesedit(FILE *, int);
void mespipe(FILE *, char []); void mespipe(FILE *, char *);
int messize(int *); int messize(void *);
int metamess(int, int); int metamess(int, int);
int more(int *); int more(void *);
int newfileinfo(int); int newfileinfo(int);
int next(int *); int next(void *);
int null(int); int null(int);
void parse(char [], struct headline *, char []); void parse(char *, struct headline *, char *);
int pcmdlist(void); int pcmdlist(void);
int pdot(void); int pdot(void);
void prepare_child(sigset_t *, int, int); void prepare_child(sigset_t *, int, int);
int preserve(int *); int preserve(void *);
void prettyprint(struct name *); void prettyprint(struct name *);
void printgroup(char []); void printgroup(char *);
void printhead(int); void printhead(int);
int puthead(struct header *, FILE *, int); int puthead(struct header *, FILE *, int);
int putline(FILE *, char *, int); int putline(FILE *, char *, int);
@ -194,25 +194,25 @@ int readline(FILE *, char *, int);
void register_file(FILE *, int, int); void register_file(FILE *, int, int);
void regret(int); void regret(int);
void relsesigs(void); void relsesigs(void);
int respond(int *); int respond(void *);
int retfield(char *[]); int retfield(void *);
int rexit(int); int rexit(void *);
int rm(char *); int rm(char *);
int run_command(char *, sigset_t *, int, int, ...); int run_command(char *, sigset_t *, int, int, ...);
int save(void *v); int save(void *v);
int save1(char [], int, const char *, struct ignoretab *); int save1(char *, int, const char *, struct ignoretab *);
void savedeadletter(FILE *); void savedeadletter(FILE *);
int saveigfield(char *[]); int saveigfield(void *);
int savemail(char [], FILE *); int savemail(char *, FILE *);
int saveretfield(char *[]); int saveretfield(void *);
int scan(char **); int scan(char **);
void scaninit(void); void scaninit(void);
int schdir(char **); int schdir(void *);
int screensize(void); int screensize(void);
int scroll(char []); int scroll(void *);
int sendmessage(struct message *, FILE *, struct ignoretab *, char *); int sendmessage(struct message *, FILE *, struct ignoretab *, char *);
int sendmail(char *); int sendmail(char *);
int set(char **); int set(void *);
int setfile(char *); int setfile(char *);
void setmsize(int); void setmsize(int);
void setptr(FILE *, off_t); void setptr(FILE *, off_t);
@ -226,21 +226,21 @@ void sreset(void);
int start_command(char *, sigset_t *, int, int, ...); int start_command(char *, sigset_t *, int, int, ...);
void statusput(struct message *, FILE *, char *); void statusput(struct message *, FILE *, char *);
void stop(int); void stop(int);
int stouch(int []); int stouch(void *);
int swrite(char []); int swrite(void *);
void tinit(void); void tinit(void);
int top(int *); int top(void *);
void touch(struct message *); void touch(struct message *);
void ttyint(int); void ttyint(int);
void ttystop(int); void ttystop(int);
int type(int *); int type(void *);
int type1(int *, int, int); int type1(int *, int, int);
int undelete_messages(int *); int undeletecmd(void *);
void unmark(int); void unmark(int);
char **unpack(struct name *); char **unpack(struct name *);
int unread(int []); int unread(void *);
void unregister_file(FILE *); void unregister_file(FILE *);
int unset(char **); int unset(void *);
int unstack(void); int unstack(void);
void vfree(char *); void vfree(char *);
int visual(int *); int visual(int *);

View File

@ -85,7 +85,7 @@ tailof(struct name *name)
* Return the list or NULL if none found. * Return the list or NULL if none found.
*/ */
struct name * struct name *
extract(char line[], int ntype) extract(char *line, int ntype)
{ {
char *cp, *nbuf; char *cp, *nbuf;
struct name *top, *np, *t; struct name *top, *np, *t;
@ -158,7 +158,7 @@ detract(struct name *np, int ntype)
* Throw away things between ()'s, and take anything between <>. * Throw away things between ()'s, and take anything between <>.
*/ */
char * char *
yankword(char *ap, char wbuf[]) yankword(char *ap, char *wbuf)
{ {
char *cp, *cp2; char *cp, *cp2;
@ -203,7 +203,7 @@ yankword(char *ap, char wbuf[])
* and look for words before metacharacters %, @, !. * and look for words before metacharacters %, @, !.
*/ */
char * char *
yanklogin(char *ap, char wbuf[]) yanklogin(char *ap, char *wbuf)
{ {
char *cp, *cp2, *cp_temp; char *cp, *cp2, *cp_temp;
int n; int n;