|
|
1.1 ! root 1: /* ! 2: * Copyright (c) 1989 The Regents of the University of California. ! 3: * All rights reserved. ! 4: * ! 5: * Redistribution and use in source and binary forms are permitted ! 6: * provided that: (1) source distributions retain this entire copyright ! 7: * notice and comment, and (2) distributions including binaries display ! 8: * the following acknowledgement: ``This product includes software ! 9: * developed by the University of California, Berkeley and its contributors'' ! 10: * in the documentation or other materials provided with the distribution ! 11: * and in all advertising materials mentioning features or use of this ! 12: * software. Neither the name of the University nor the names of its ! 13: * contributors may be used to endorse or promote products derived ! 14: * from this software without specific prior written permission. ! 15: * THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR ! 16: * IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED ! 17: * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. ! 18: */ ! 19: ! 20: #ifndef lint ! 21: char copyright[] = ! 22: "@(#) Copyright (c) 1989 The Regents of the University of California.\n\ ! 23: All rights reserved.\n"; ! 24: #endif /* not lint */ ! 25: ! 26: #ifndef lint ! 27: static char sccsid[] = "@(#)hexdump.c 5.5 (Berkeley) 6/1/90"; ! 28: #endif /* not lint */ ! 29: ! 30: #include <sys/types.h> ! 31: #include <stdio.h> ! 32: #include "hexdump.h" ! 33: ! 34: FS *fshead; /* head of format strings */ ! 35: int blocksize; /* data block size */ ! 36: int exitval; /* final exit value */ ! 37: int length = -1; /* max bytes to read */ ! 38: ! 39: main(argc, argv) ! 40: int argc; ! 41: char **argv; ! 42: { ! 43: extern int errno; ! 44: register FS *tfs; ! 45: char *p, *rindex(); ! 46: ! 47: if (!(p = rindex(argv[0], 'o')) || strcmp(p, "od")) ! 48: newsyntax(argc, &argv); ! 49: else ! 50: oldsyntax(argc, &argv); ! 51: ! 52: /* figure out the data block size */ ! 53: for (blocksize = 0, tfs = fshead; tfs; tfs = tfs->nextfs) { ! 54: tfs->bcnt = size(tfs); ! 55: if (blocksize < tfs->bcnt) ! 56: blocksize = tfs->bcnt; ! 57: } ! 58: /* rewrite the rules, do syntax checking */ ! 59: for (tfs = fshead; tfs; tfs = tfs->nextfs) ! 60: rewrite(tfs); ! 61: ! 62: (void)next(argv); ! 63: display(); ! 64: exit(exitval); ! 65: }
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.