summary |
shortlog |
log |
commit | commitdiff |
tree
raw |
patch |
inline | side by side (from parent 1:
943765e)
Pagination is to be done by some pager.
compctl -K mhfseq -x 's[+][@]' -K mhcomp -S / -q - \
's[-]' -k "(draft form moreproc header noheader \
compctl -K mhfseq -x 's[+][@]' -K mhcomp -S / -q - \
's[-]' -k "(draft form moreproc header noheader \
- showproc length width help)" - 'C[-1,-(show|more)proc]' -c - \
+ showproc width help)" - 'C[-1,-(show|more)proc]' -c - \
'c[-1,-file]' -f - 'c[-1,-form]' -K mhfile - \
'c[-1,-file]' -f - 'c[-1,-form]' -K mhfile - \
- 'c[-1,-length]' -s '$LINES' - 'c[-1,-width]' -s '$COLUMNS' -- show next prev
+ 'c[-1,-width]' -s '$COLUMNS' -- show next prev
compctl -K mhfseq -x 's[+][@]' -K mhcomp -S / -q - 's[-]' \
-k "(help)" -- rmm
compctl -K mhfseq -x 's[+][@]' -K mhcomp -S / -q - 's[-]' \
-k "(help)" -- rmm
.IR +folder ]
.RB [ \-form
.IR formfile ]
.IR +folder ]
.RB [ \-form
.IR formfile ]
-.RB [ \-length
-.IR lines ]
.RB [ \-width
.IR columns ]
.RB [ \-moreproc
.RB [ \-width
.IR columns ]
.RB [ \-moreproc
.IR +folder ]
.RB [ \-form
.IR formfile ]
.IR +folder ]
.RB [ \-form
.IR formfile ]
-.RB [ \-length
-.IR lines ]
.RB [ \-width
.IR columns ]
.RB [ \-moreproc
.RB [ \-width
.IR columns ]
.RB [ \-moreproc
-.B \-length
-.I length
-and
-switches set the screen
-length and width, respectively. These default to the values indicated by
+switch sets the screen width. This defaults to the value indicated by
-if appropriate, otherwise they default to 40 and 80, respectively.
+if appropriate, otherwise it defaults to 80.
.PP
The default format file used by
.B mhl
.PP
The default format file used by
.B mhl
For example, the line:
.PP
.RS 5
For example, the line:
.PP
.RS 5
-width=80,length=40,overflowtext="***",overflowoffset=5
+width=80,overflowtext="***",overflowoffset=5
.RE
.PP
defines the screen size to be 80 columns by 40 rows, specifies that the
.RE
.PP
defines the screen size to be 80 columns by 40 rows, specifies that the
affect is global. Since the whole format is parsed before any output
processing, the last global switch setting for a variable applies to
the whole message if that variable is used in a global context (i.e.,
affect is global. Since the whole format is parsed before any output
processing, the last global switch setting for a variable applies to
the whole message if that variable is used in a global context (i.e.,
.PP
.RS 5
.nf
.ta \w'xxxxxxxxxxxxx 'u +\w'integer/G 'u
.I variable type semantics
width integer screen width or component width
.PP
.RS 5
.nf
.ta \w'xxxxxxxxxxxxx 'u +\w'integer/G 'u
.I variable type semantics
width integer screen width or component width
-length integer screen length or component length
+length integer component length
offset integer positions to indent \*(lqcomponent: \*(rq
overflowtext string text to use at the beginning of an
overflow line
offset integer positions to indent \*(lqcomponent: \*(rq
overflowtext string text to use at the beginning of an
overflow line
{ "form formfile", 0 },
#define PROGSW 2
{ "moreproc program", 0 },
{ "form formfile", 0 },
#define PROGSW 2
{ "moreproc program", 0 },
-#define LENSW 3
- { "length lines", 0 },
-#define WIDTHSW 4
{ "nobody", -6 },
{ NULL, 0 }
};
{ "nobody", -6 },
{ NULL, 0 }
};
int c_ovoff; /* overflow indentation */
int c_width; /* width of field */
int c_cwidth; /* width of component */
int c_ovoff; /* overflow indentation */
int c_width; /* width of field */
int c_cwidth; /* width of component */
- int c_length; /* length in lines */
long c_flags;
struct mcomp *c_next;
};
long c_flags;
struct mcomp *c_next;
};
static struct mcomp *fmttl = NULL;
static struct mcomp global = {
static struct mcomp *fmttl = NULL;
static struct mcomp global = {
- NULL, NULL, "", NULL, NULL, 0, -1, 80, -1, 40, 0, 0
+ NULL, NULL, "", NULL, NULL, 0, -1, 80, -1, 0, 0
};
static struct mcomp holder = {
};
static struct mcomp holder = {
- NULL, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0, NOCOMPONENT, 0
+ NULL, NULL, NULL, NULL, NULL, 0, 0, 0, 0, NOCOMPONENT, 0
#define NOTTY 0
static int ontty = NOTTY;
#define NOTTY 0
static int ontty = NOTTY;
static int column;
static int lm;
static int column;
static int lm;
static int ovoff;
static int term;
static int wid;
static int ovoff;
static int term;
static int wid;
-static void mhl_format(char *, int, int);
+static void mhl_format(char *, int);
static int evalvar(struct mcomp *);
static int ptoi(char *, int *);
static int ptos(char *, char **);
static int evalvar(struct mcomp *);
static int ptoi(char *, int *);
static int ptos(char *, char **);
int SOprintf(char *, ...); /* from termsbr.c */
int sc_width(void); /* from termsbr.c */
int SOprintf(char *, ...); /* from termsbr.c */
int sc_width(void); /* from termsbr.c */
-int sc_length(void); /* from termsbr.c */
int
main(int argc, char **argv)
{
int
main(int argc, char **argv)
{
int i, width = 0, vecp = 0;
char *cp, *folder = NULL, *form = NULL;
char buf[BUFSIZ], *files[MAXARGS];
int i, width = 0, vecp = 0;
char *cp, *folder = NULL, *form = NULL;
char buf[BUFSIZ], *files[MAXARGS];
- case LENSW:
- if (!(cp = *argp++) || *cp == '-')
- adios(NULL, "missing argument to %s",
- argp[-2]);
- if ((length = atoi(cp)) < 1)
- adios(NULL, "bad argument %s %s",
- argp[-2], cp);
- continue;
case WIDTHSW:
if (!(cp = *argp++) || *cp == '-')
adios(NULL, "missing argument to %s",
case WIDTHSW:
if (!(cp = *argp++) || *cp == '-')
adios(NULL, "missing argument to %s",
- mhl_format(form ? form : mhlformat, length, width);
+ mhl_format(form ? form : mhlformat, width);
if (vecp == 0) {
process(folder, NULL, 1, vecp = 1);
if (vecp == 0) {
process(folder, NULL, 1, vecp = 1);
-mhl_format(char *file, int length, int width)
+mhl_format(char *file, int width)
{
int i;
char *bp, *cp, **ip;
{
int i;
char *bp, *cp, **ip;
if ((i = sc_width()) > 5)
global.c_width = i;
global.c_cwidth = -1;
if ((i = sc_width()) > 5)
global.c_width = i;
global.c_cwidth = -1;
- if ((i = sc_length()) > 5)
- global.c_length = i - 1;
global.c_flags = 0;
*(ip = ignores) = NULL;
global.c_flags = 0;
*(ip = ignores) = NULL;
for (c1 = fmthd; c1; c1 = c1->c_next) {
fprintf(stderr, "c1: name=\"%s\" text=\"%s\" ovtxt=\"%s\"\n", c1->c_name, c1->c_text, c1->c_ovtxt);
fprintf(stderr, "\tnfs=0x%x fmt=0x%x\n", (unsigned int)(unsigned long) c1->c_nfs, (unsigned int)(unsigned long) c1->c_fmt);
for (c1 = fmthd; c1; c1 = c1->c_next) {
fprintf(stderr, "c1: name=\"%s\" text=\"%s\" ovtxt=\"%s\"\n", c1->c_name, c1->c_text, c1->c_ovtxt);
fprintf(stderr, "\tnfs=0x%x fmt=0x%x\n", (unsigned int)(unsigned long) c1->c_nfs, (unsigned int)(unsigned long) c1->c_fmt);
- fprintf(stderr, "\toffset=%d ovoff=%d width=%d cwidth=%d length=%d\n", c1->c_offset, c1->c_ovoff, c1->c_width, c1->c_cwidth, c1->c_length);
+ fprintf(stderr, "\toffset=%d ovoff=%d width=%d cwidth=%d\n", c1->c_offset, c1->c_ovoff, c1->c_width, c1->c_cwidth);
fprintf (stderr, "\tflags=%s\n", snprintb(buffer, sizeof(buffer), (unsigned) c1->c_flags, LBITS));
}
}
out:
fprintf (stderr, "\tflags=%s\n", snprintb(buffer, sizeof(buffer), (unsigned) c1->c_flags, LBITS));
}
}
out:
- if (length)
- global.c_length = length;
if (width)
global.c_width = width;
if (width)
global.c_width = width;
- if (global.c_length < 5)
- global.c_length = 10000;
if (global.c_width < 5)
global.c_width = 10000;
}
if (global.c_width < 5)
global.c_width = 10000;
}
return ptoi(name, &c1->c_width);
if (!mh_strcasecmp(name, "compwidth"))
return ptoi(name, &c1->c_cwidth);
return ptoi(name, &c1->c_width);
if (!mh_strcasecmp(name, "compwidth"))
return ptoi(name, &c1->c_cwidth);
- if (!mh_strcasecmp(name, "length"))
- return ptoi(name, &c1->c_length);
for (ap = triples; ap->t_name; ap++)
if (!mh_strcasecmp(ap->t_name, name)) {
for (ap = triples; ap->t_name; ap++)
if (!mh_strcasecmp(ap->t_name, name)) {
for (c1 = fmthd; c1; c1 = c1->c_next) {
if (c1->c_flags & CLEARTEXT) {
putcomp(c1, c1, ONECOMP);
for (c1 = fmthd; c1; c1 = c1->c_next) {
if (c1->c_flags & CLEARTEXT) {
putcomp(c1, c1, ONECOMP);
c1->c_ovtxt = getcpy(global.c_ovtxt);
c1->c_offset = global.c_offset;
c1->c_ovoff = global. c_ovoff;
c1->c_ovtxt = getcpy(global.c_ovtxt);
c1->c_offset = global.c_offset;
c1->c_ovoff = global. c_ovoff;
- c1->c_width = c1->c_length = 0;
c1->c_cwidth = global.c_cwidth;
c1->c_flags |= global.c_flags & GFLAGS;
}
c1->c_cwidth = global.c_cwidth;
c1->c_flags |= global.c_flags & GFLAGS;
}
- llim = c1->c_length ? c1->c_length : -1;
wid = c1->c_width ? c1->c_width : global.c_width;
ovoff = (c1->c_ovoff >= 0 ? c1->c_ovoff : global.c_ovoff)
+ c1->c_offset;
wid = c1->c_width ? c1->c_width : global.c_width;
ovoff = (c1->c_ovoff >= 0 ? c1->c_ovoff : global.c_ovoff)
+ c1->c_offset;
static void
putch(char ch)
{
static void
putch(char ch)
{
- char buf[BUFSIZ];
-
- if (llim == 0)
- return;
-
- case '\n':
- if (llim > 0)
- llim--;
- column = 0;
- row++;
- if (row != global.c_length)
- break;
- fflush(stdout);
- buf[0] = 0;
- read(fileno(stdout), buf, sizeof(buf));
- if (strchr(buf, '\n')) {
- row = 0;
- } else {
- putchar('\n');
- row = global.c_length / 3;
- }
- return;
-
case '\t':
column |= 07;
column++;
case '\t':
column |= 07;
column++;
case '\r':
column = 0;
break;
case '\r':
column = 0;
break;
*/
#define PROGSW 14
{ "moreproc program", -4 },
*/
#define PROGSW 14
{ "moreproc program", -4 },
-#define LENSW 15
- { "length lines", -4 },
-#define WIDTHSW 16
{ "width columns", -4 },
/*
** switches for debugging
*/
{ "width columns", -4 },
/*
** switches for debugging
*/
{ "debug", -5 },
{ NULL, 0 }
};
{ "debug", -5 },
{ NULL, 0 }
};
case WIDTHSW:
if (!(cp = *argp++) || *cp == '-')
adios(NULL, "missing argument to %s",
case WIDTHSW:
if (!(cp = *argp++) || *cp == '-')
adios(NULL, "missing argument to %s",
{ "form formfile", 0 },
#define PROGSW 5
{ "moreproc program", 0 },
{ "form formfile", 0 },
#define PROGSW 5
{ "moreproc program", 0 },
-#define LENSW 6
- { "length lines", 0 },
-#define WIDTHSW 7
{ "showproc program", 0 },
{ "showproc program", 0 },
{ "showmimeproc program", 0 },
{ "showmimeproc program", 0 },
{ "file file", -4 }, /* interface from showfile */
{ "file file", -4 }, /* interface from showfile */
{ "help", 0 },
{ NULL, 0 }
};
{ "help", 0 },
{ NULL, 0 }
};
case WIDTHSW:
vec[vecp++] = --cp;
if (!(cp = *argp++) || *cp == '-')
case WIDTHSW:
vec[vecp++] = --cp;
if (!(cp = *argp++) || *cp == '-')
-static int LI = 40; /* number of lines */
static int CO = 80; /* number of colums */
static char *SE = NULL; /* termcap string to end standout mode */
static char *SO = NULL; /* termcap string to begin standout mode */
static int CO = 80; /* number of colums */
static char *SE = NULL; /* termcap string to end standout mode */
static char *SO = NULL; /* termcap string to begin standout mode */
if (!initCO && (CO = tgetnum("co")) <= 0)
CO = 80;
if (!initCO && (CO = tgetnum("co")) <= 0)
CO = 80;
- if (!initLI && (LI = tgetnum("li")) <= 0)
- LI = 24;
cp = termcap;
if ((bp = tgetstr("pc", &cp)))
cp = termcap;
if ((bp = tgetstr("pc", &cp)))
-int
-sc_length(void)
-{
-#ifdef TIOCGWINSZ
- struct winsize win;
-
- if (ioctl(fileno(stderr), TIOCGWINSZ, &win) != NOTOK
- && (LI = win.ws_row) > 0)
- initLI++;
- else
-#endif /* TIOCGWINSZ */
- read_termcap();
-
- return LI;
-}
-
-
/*
** print in standout mode
*/
/*
** print in standout mode
*/