version 1.2, 1996/03/27 19:32:30 |
version 1.3, 1996/06/11 12:53:32 |
|
|
/* $OpenBSD$ */ |
/* $OpenBSD$ */ |
|
/* $NetBSD: cmd1.c,v 1.5 1996/06/08 19:48:11 christos Exp $ */ |
|
|
/*- |
/*- |
* Copyright (c) 1980, 1993 |
* Copyright (c) 1980, 1993 |
|
|
*/ |
*/ |
|
|
#ifndef lint |
#ifndef lint |
static char sccsid[] = "from: @(#)cmd1.c 8.1 (Berkeley) 6/6/93"; |
#if 0 |
|
static char sccsid[] = "@(#)cmd1.c 8.1 (Berkeley) 6/6/93"; |
|
#else |
static char rcsid[] = "$OpenBSD$"; |
static char rcsid[] = "$OpenBSD$"; |
|
#endif |
#endif /* not lint */ |
#endif /* not lint */ |
|
|
#include "rcv.h" |
#include "rcv.h" |
|
|
static int screen; |
static int screen; |
|
|
int |
int |
headers(msgvec) |
headers(v) |
int *msgvec; |
void *v; |
{ |
{ |
|
int *msgvec = v; |
register int n, mesg, flag; |
register int n, mesg, flag; |
register struct message *mp; |
register struct message *mp; |
int size; |
int size; |
|
|
* Scroll to the next/previous screen |
* Scroll to the next/previous screen |
*/ |
*/ |
int |
int |
scroll(arg) |
scroll(v) |
char arg[]; |
void *v; |
{ |
{ |
|
char *arg = v; |
register int s, size; |
register int s, size; |
int cur[1]; |
int cur[1]; |
|
|
|
|
* in the passed message list. |
* in the passed message list. |
*/ |
*/ |
int |
int |
from(msgvec) |
from(v) |
int *msgvec; |
void *v; |
{ |
{ |
|
int *msgvec = v; |
register int *ip; |
register int *ip; |
|
|
for (ip = msgvec; *ip != NULL; ip++) |
for (ip = msgvec; *ip != NULL; ip++) |
|
|
* Print out the value of dot. |
* Print out the value of dot. |
*/ |
*/ |
int |
int |
pdot() |
pdot(v) |
|
void *v; |
{ |
{ |
printf("%d\n", dot - &message[0] + 1); |
printf("%d\n", dot - &message[0] + 1); |
return(0); |
return(0); |
|
|
* Print out all the possible commands. |
* Print out all the possible commands. |
*/ |
*/ |
int |
int |
pcmdlist() |
pcmdlist(v) |
|
void *v; |
{ |
{ |
extern const struct cmd cmdtab[]; |
extern const struct cmd cmdtab[]; |
register const struct cmd *cp; |
register const struct cmd *cp; |
|
|
* Paginate messages, honor ignored fields. |
* Paginate messages, honor ignored fields. |
*/ |
*/ |
int |
int |
more(msgvec) |
more(v) |
int *msgvec; |
void *v; |
{ |
{ |
|
int *msgvec = v; |
return (type1(msgvec, 1, 1)); |
return (type1(msgvec, 1, 1)); |
} |
} |
|
|
|
|
* Paginate messages, even printing ignored fields. |
* Paginate messages, even printing ignored fields. |
*/ |
*/ |
int |
int |
More(msgvec) |
More(v) |
int *msgvec; |
void *v; |
{ |
{ |
|
int *msgvec = v; |
|
|
return (type1(msgvec, 0, 1)); |
return (type1(msgvec, 0, 1)); |
} |
} |
|
|
* Type out messages, honor ignored fields. |
* Type out messages, honor ignored fields. |
*/ |
*/ |
int |
int |
type(msgvec) |
type(v) |
int *msgvec; |
void *v; |
{ |
{ |
|
int *msgvec = v; |
|
|
return(type1(msgvec, 1, 0)); |
return(type1(msgvec, 1, 0)); |
} |
} |
|
|
* Type out messages, even printing ignored fields. |
* Type out messages, even printing ignored fields. |
*/ |
*/ |
int |
int |
Type(msgvec) |
Type(v) |
int *msgvec; |
void *v; |
{ |
{ |
|
int *msgvec = v; |
|
|
return(type1(msgvec, 0, 0)); |
return(type1(msgvec, 0, 0)); |
} |
} |
|
|
int doign, page; |
int doign, page; |
{ |
{ |
register *ip; |
register *ip; |
register struct message *mp; |
struct message *mp; |
register char *cp; |
char *cp; |
int nlines; |
int nlines; |
FILE *obuf; |
FILE *obuf; |
|
#if __GNUC__ |
|
/* Avoid longjmp clobbering */ |
|
(void) &cp; |
|
(void) &obuf; |
|
#endif |
|
|
obuf = stdout; |
obuf = stdout; |
if (setjmp(pipestop)) |
if (setjmp(pipestop)) |
|
|
* and defaults to 5. |
* and defaults to 5. |
*/ |
*/ |
int |
int |
top(msgvec) |
top(v) |
int *msgvec; |
void *v; |
{ |
{ |
|
int *msgvec = v; |
register int *ip; |
register int *ip; |
register struct message *mp; |
register struct message *mp; |
int c, topl, lines, lineb; |
int c, topl, lines, lineb; |
|
|
* get mboxed. |
* get mboxed. |
*/ |
*/ |
int |
int |
stouch(msgvec) |
stouch(v) |
int msgvec[]; |
void *v; |
{ |
{ |
|
int *msgvec = v; |
register int *ip; |
register int *ip; |
|
|
for (ip = msgvec; *ip != 0; ip++) { |
for (ip = msgvec; *ip != 0; ip++) { |
|
|
* Make sure all passed messages get mboxed. |
* Make sure all passed messages get mboxed. |
*/ |
*/ |
int |
int |
mboxit(msgvec) |
mboxit(v) |
int msgvec[]; |
void *v; |
{ |
{ |
|
int *msgvec = v; |
register int *ip; |
register int *ip; |
|
|
for (ip = msgvec; *ip != 0; ip++) { |
for (ip = msgvec; *ip != 0; ip++) { |
|
|
* List the folders the user currently has. |
* List the folders the user currently has. |
*/ |
*/ |
int |
int |
folders() |
folders(v) |
|
void *v; |
{ |
{ |
char dirname[BUFSIZ]; |
char dirname[BUFSIZ]; |
char *cmd; |
char *cmd; |