---
od.1 | 10 ++++++++--
od.c | 14 ++++++++++++--
2 files changed, 20 insertions(+), 4 deletions(-)
diff --git a/od.1 b/od.1
index b47d752..7430191 100644
--- a/od.1
+++ b/od.1
_AT_@ -7,6 +7,8 @@
.Sh SYNOPSIS
.Nm
.Op Fl A Ar d|o|x|n
+.Op Fl b
+.Op Fl d
.Op Fl t Ar a|c|d|o|u|x
.Op Fl v
.Op Fl j Ar skip
_AT_@ -26,6 +28,8 @@ reads from stdin.
.It Fl A Ar d|o|x|n
Display the address in base \fId\fRecimal | \fIo\fRctal |
he\fIx\fRadecimal | \fIn\fRone. If unspecified, the default is octal.
+.It Fl b
+Same as -t oC
.It Fl t Ar a|c|d|o|u|x
Display the content as n\fIa\fRmed character, \fIc\fRharacter, signed
\fId\fRecimal, \fIo\fRctal, \fIu\fRnsigned decimal, or
_AT_@ -33,14 +37,16 @@ he\fIx\fRadecimal. If unspecified, the default is octal.
Another character is optional indicating size of \fIC\fRhar, \fII\fRnt,
\fIS\fRhort, or \fIL\fRong. If unspecified the default is short, or
char for types a or c.
-.It Fl v
-Always set. Write all input data, including duplicate lines.
+.It Fl d
+Same as -t uS
.It Fl j Ar skip
Ignore the first
.Ar skip
bytes.
.It Fl N Ar count
Process at most
+.It Fl v
+Always set. Write all input data, including duplicate lines.
.Ar count
bytes.
.El
diff --git a/od.c b/od.c
index 1ab1ea3..ec89528 100644
--- a/od.c
+++ b/od.c
_AT_@ -120,7 +120,9 @@ od(FILE *in, char *in_name, FILE *out, char *out_name)
printaddress(out, addr);
}
value[counter % incr] = buf[0];
- if ( ((counter % incr) == (incr - 1)) && counter) {
+ if (incr == 1)
+ printvalue(out, value);
+ else if ( ((counter % incr) == (incr - 1)) && counter) {
printvalue(out, value);
clear(value, incr);
}
_AT_@ -141,7 +143,7 @@ od(FILE *in, char *in_name, FILE *out, char *out_name)
static void
usage(void)
{
- eprintf("usage: %s [-A d|o|x|n] [-t a|c|d|o|u|x] [-v] [file ...]\n", argv0);
+ eprintf("usage: %s [-A d|o|x|n] [-b|-d|-t a|c|d|o|u|x] [-v] [file ...]\n", argv0);
}
int
_AT_@ -166,6 +168,14 @@ main(int argc, char *argv[])
if ((maxbytes = parseoffset(EARGF(usage()))) < 0)
return 1;
break;
+ case 'b':
+ type = 'o';
+ size = 'C';
+ break;
+ case 'd':
+ type = 'u';
+ size = 'S';
+ break;
case 't':
s = EARGF(usage());
if (strlen(s) < 1 || strlen(s) > 2 || !strchr("acdoux", s[0]))
--
1.7.10.4
--------------070408000906080206040300--
Received on Mon Sep 17 2001 - 00:00:00 CEST
This archive was generated by hypermail 2.3.0 : Fri Oct 02 2015 - 09:00:12 CEST