Finish up cols(1)
This commit is contained in:
parent
7cdb24d085
commit
5a20d0e9d7
2
README
2
README
@ -18,7 +18,7 @@ The following tools are implemented ('*' == finished, '#' == UTF-8 support,
|
||||
=* chroot non-posix none
|
||||
=* cksum yes none
|
||||
cmp yes none
|
||||
cols non-posix none
|
||||
#* cols non-posix none
|
||||
=* comm yes none
|
||||
= cp no -H, (-i), -L
|
||||
=* cron non-posix none
|
||||
|
22
cols.1
22
cols.1
@ -1,4 +1,4 @@
|
||||
.Dd December 8, 2014
|
||||
.Dd February 1, 2015
|
||||
.Dt COLS 1
|
||||
.Os sbase
|
||||
.Sh NAME
|
||||
@ -6,34 +6,36 @@
|
||||
.Nd columnize output
|
||||
.Sh SYNOPSIS
|
||||
.Nm
|
||||
.Op Fl c Ar chars
|
||||
.Op Fl c Ar num
|
||||
.Op Ar file ...
|
||||
.Sh DESCRIPTION
|
||||
.Nm
|
||||
reads each file in sequence and writes them to stdout, in as many vertical
|
||||
reads each
|
||||
.Ar file
|
||||
in sequence and writes them to stdout, in as many vertical
|
||||
columns as will fit in
|
||||
.Ar chars
|
||||
.Ar num
|
||||
character columns. If no
|
||||
.Ar file
|
||||
is given,
|
||||
.Nm
|
||||
reads from stdin.
|
||||
.Sh OPTIONS
|
||||
.Bl -tag -width xxxxxxxx
|
||||
.Bl -tag -width Ds
|
||||
.It Fl c Ar chars
|
||||
Specifies the maximum number of character columns to use
|
||||
Set the maximum number of character columns to use
|
||||
(unless the input contains lines longer than
|
||||
.Ar chars
|
||||
.Ar num
|
||||
characters). By default cols tries to figure out the width of the output
|
||||
device, if that fails it defaults to 65 chars.
|
||||
device. If that fails, it defaults to 65 chars.
|
||||
.El
|
||||
.Sh HISTORY
|
||||
.Nm
|
||||
is similar to the mc(1) command on Plan 9. It was renamed to
|
||||
is similar to mc(1) in Plan 9. It was renamed to
|
||||
.Nm
|
||||
to avoid the name collision with the popular file manager
|
||||
Midnight Commander.
|
||||
.Sh BUGS
|
||||
.Sh CAVEATS
|
||||
This implementation of
|
||||
.Nm
|
||||
assumes that each UTF-8 code point occupies one character cell,
|
||||
|
6
cols.c
6
cols.c
@ -12,7 +12,7 @@
|
||||
#include "util.h"
|
||||
|
||||
static size_t chars = 65;
|
||||
static int cflag;
|
||||
static int cflag;
|
||||
static struct linebuf b = EMPTY_LINEBUF;
|
||||
|
||||
static size_t n_columns;
|
||||
@ -58,8 +58,8 @@ main(int argc, char *argv[])
|
||||
for (l = 0; l < b.nlines; ++l) {
|
||||
len = utflen(b.lines[l]);
|
||||
bytes = strlen(b.lines[l]);
|
||||
if (len > 0 && b.lines[l][bytes-1] == '\n') {
|
||||
b.lines[l][bytes-1] = '\0';
|
||||
if (len > 0 && b.lines[l][bytes - 1] == '\n') {
|
||||
b.lines[l][bytes - 1] = '\0';
|
||||
--len;
|
||||
}
|
||||
if (len > maxlen)
|
||||
|
Loading…
Reference in New Issue
Block a user