1: /*-
   2:  * Copyright (c) 1990 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: static char sccsid[] = "@(#)hexsyntax.c	5.2 (Berkeley) 5/8/90";
  22: #endif /* not lint */
  23: 
  24: #include <sys/types.h>
  25: #include <stdio.h>
  26: #include "hexdump.h"
  27: 
  28: off_t skip;             /* bytes to skip */
  29: 
  30: newsyntax(argc, argvp)
  31:     int argc;
  32:     char ***argvp;
  33: {
  34:     extern enum _vflag vflag;
  35:     extern FS *fshead;
  36:     extern char *optarg;
  37:     extern int length, optind;
  38:     int ch;
  39:     char *p, **argv;
  40: 
  41:     argv = *argvp;
  42:     while ((ch = getopt(argc, argv, "bcde:f:n:os:vx")) != EOF)
  43:         switch (ch) {
  44:         case 'b':
  45:             add("\"%07.7_Ax\n\"");
  46:             add("\"%07.7_ax \" 16/1 \"%03o \" \"\\n\"");
  47:             break;
  48:         case 'c':
  49:             add("\"%07.7_Ax\n\"");
  50:             add("\"%07.7_ax \" 16/1 \"%3_c \" \"\\n\"");
  51:             break;
  52:         case 'd':
  53:             add("\"%07.7_Ax\n\"");
  54:             add("\"%07.7_ax \" 8/2 \"  %05u \" \"\\n\"");
  55:             break;
  56:         case 'e':
  57:             add(optarg);
  58:             break;
  59:         case 'f':
  60:             addfile(optarg);
  61:             break;
  62:         case 'n':
  63:             if ((length = atoi(optarg)) < 0) {
  64:                 (void)fprintf(stderr,
  65:                     "hexdump: bad length value.\n");
  66:                 exit(1);
  67:             }
  68:             break;
  69:         case 'o':
  70:             add("\"%07.7_Ax\n\"");
  71:             add("\"%07.7_ax \" 8/2 \" %06o \" \"\\n\"");
  72:             break;
  73:         case 's':
  74:             if ((skip = strtol(optarg, &p, 0)) < 0) {
  75:                 (void)fprintf(stderr,
  76:                     "hexdump: bad skip value.\n");
  77:                 exit(1);
  78:             }
  79:             switch(*p) {
  80:             case 'b':
  81:                 skip *= 512;
  82:                 break;
  83:             case 'k':
  84:                 skip *= 1024;
  85:                 break;
  86:             case 'm':
  87:                 skip *= 1048576;
  88:                 break;
  89:             }
  90:             break;
  91:         case 'v':
  92:             vflag = ALL;
  93:             break;
  94:         case 'x':
  95:             add("\"%07.7_Ax\n\"");
  96:             add("\"%07.7_ax \" 8/2 \"   %04x \" \"\\n\"");
  97:             break;
  98:         case '?':
  99:             usage();
 100:             exit(1);
 101:         }
 102: 
 103:     if (!fshead) {
 104:         add("\"%07.7_Ax\n\"");
 105:         add("\"%07.7_ax \" 8/2 \"%04x \" \"\\n\"");
 106:     }
 107: 
 108:     *argvp += optind;
 109: }
 110: 
 111: usage()
 112: {
 113:     (void)fprintf(stderr,
 114: "hexdump: [-bcdovx] [-e fmt] [-f fmt_file] [-n length] [-s skip] [file ...]\n");
 115:     exit(1);
 116: }

Defined functions

newsyntax defined in line 30; used 1 times
usage defined in line 111; used 2 times

Defined variables

sccsid defined in line 21; never used
skip defined in line 28; used 4 times
Last modified: 1990-06-02
Generated: 2016-12-26
Generated by src2html V0.67
page hit count: 2756
Valid CSS Valid XHTML 1.0 Strict