1*41457Sbostic /*- 2*41457Sbostic * Copyright (c) 1990 The Regents of the University of California. 3*41457Sbostic * All rights reserved. 4*41457Sbostic * 5*41457Sbostic * %sccs.include.redist.c% 6*41457Sbostic */ 7*41457Sbostic 8*41457Sbostic #ifndef lint 9*41457Sbostic static char sccsid[] = "@(#)odsyntax.c 5.1 (Berkeley) 05/08/90"; 10*41457Sbostic #endif /* not lint */ 11*41457Sbostic 12*41457Sbostic #include <sys/types.h> 13*41457Sbostic #include <stdio.h> 14*41457Sbostic #include "hexdump.h" 15*41457Sbostic 16*41457Sbostic int deprecated; 17*41457Sbostic 18*41457Sbostic oldsyntax(argc, argvp) 19*41457Sbostic int argc; 20*41457Sbostic char ***argvp; 21*41457Sbostic { 22*41457Sbostic extern enum _vflag vflag; 23*41457Sbostic extern FS *fshead; 24*41457Sbostic extern char *optarg; 25*41457Sbostic extern int length, optind; 26*41457Sbostic int ch; 27*41457Sbostic char **argv; 28*41457Sbostic 29*41457Sbostic deprecated = 1; 30*41457Sbostic argv = *argvp; 31*41457Sbostic while ((ch = getopt(argc, argv, "aBbcDdeFfHhIiLlOoPpswvXx")) != EOF) 32*41457Sbostic switch (ch) { 33*41457Sbostic case 'a': 34*41457Sbostic add("\"%07.7_Ao\n\""); 35*41457Sbostic add("\"%07.7_ao \" 16/1 \"%3_u \" \"\\n\""); 36*41457Sbostic break; 37*41457Sbostic case 'B': 38*41457Sbostic case 'o': 39*41457Sbostic add("\"%07.7_Ao\n\""); 40*41457Sbostic add("\"%07.7_ao \" 8/2 \"%06o \" \"\\n\""); 41*41457Sbostic break; 42*41457Sbostic case 'b': 43*41457Sbostic add("\"%07.7_Ao\n\""); 44*41457Sbostic add("\"%07.7_ao \" 16/1 \"%03o \" \"\\n\""); 45*41457Sbostic break; 46*41457Sbostic case 'c': 47*41457Sbostic add("\"%07.7_Ao\n\""); 48*41457Sbostic add("\"%07.7_ao \" 16/1 \"%3_c \" \"\\n\""); 49*41457Sbostic break; 50*41457Sbostic case 'd': 51*41457Sbostic add("\"%07.7_Ao\n\""); 52*41457Sbostic add("\"%07.7_ao \" 8/2 \"%05u \" \"\\n\""); 53*41457Sbostic break; 54*41457Sbostic case 'D': 55*41457Sbostic add("\"%07.7_Ao\n\""); 56*41457Sbostic add("\"%07.7_ao \" 4/4 \"%010u \" \"\\n\""); 57*41457Sbostic break; 58*41457Sbostic case 'e': /* undocumented in od */ 59*41457Sbostic case 'F': 60*41457Sbostic add("\"%07.7_Ao\n\""); 61*41457Sbostic add("\"%07.7_ao \" 2/8 \"%21.14e \" \"\\n\""); 62*41457Sbostic break; 63*41457Sbostic 64*41457Sbostic case 'f': 65*41457Sbostic add("\"%07.7_Ao\n\""); 66*41457Sbostic add("\"%07.7_ao \" 4/4 \"%14.7e \" \"\\n\""); 67*41457Sbostic break; 68*41457Sbostic case 'H': 69*41457Sbostic case 'X': 70*41457Sbostic add("\"%07.7_Ao\n\""); 71*41457Sbostic add("\"%07.7_ao \" 4/4 \"%08x \" \"\\n\""); 72*41457Sbostic break; 73*41457Sbostic case 'h': 74*41457Sbostic case 'x': 75*41457Sbostic add("\"%07.7_Ao\n\""); 76*41457Sbostic add("\"%07.7_ao \" 8/2 \"%04x \" \"\\n\""); 77*41457Sbostic break; 78*41457Sbostic case 'I': 79*41457Sbostic case 'L': 80*41457Sbostic case 'l': 81*41457Sbostic add("\"%07.7_Ao\n\""); 82*41457Sbostic add("\"%07.7_ao \" 4/4 \"%11d \" \"\\n\""); 83*41457Sbostic break; 84*41457Sbostic case 'i': 85*41457Sbostic add("\"%07.7_Ao\n\""); 86*41457Sbostic add("\"%07.7_ao \" 8/2 \"%6d \" \"\\n\""); 87*41457Sbostic break; 88*41457Sbostic case 'O': 89*41457Sbostic add("\"%07.7_Ao\n\""); 90*41457Sbostic add("\"%07.7_ao \" 4/4 \"%011o \" \"\\n\""); 91*41457Sbostic break; 92*41457Sbostic case 'v': 93*41457Sbostic vflag = ALL; 94*41457Sbostic break; 95*41457Sbostic case 'P': 96*41457Sbostic case 'p': 97*41457Sbostic case 's': 98*41457Sbostic case 'w': 99*41457Sbostic case '?': 100*41457Sbostic default: 101*41457Sbostic (void)fprintf(stderr, 102*41457Sbostic "od: od(1) has been deprecated for hexdump(1).\n"); 103*41457Sbostic if (ch != '?') 104*41457Sbostic (void)fprintf(stderr, 105*41457Sbostic "od: hexdump(1) compatibility doesn't support the -%c option%s\n", 106*41457Sbostic ch, ch == 's' ? "; see strings(1)." : "."); 107*41457Sbostic usage(); 108*41457Sbostic } 109*41457Sbostic 110*41457Sbostic if (!fshead) { 111*41457Sbostic add("\"%07.7_Ao\n\""); 112*41457Sbostic add("\"%07.7_ao \" 8/2 \"%06o \" \"\\n\""); 113*41457Sbostic } 114*41457Sbostic 115*41457Sbostic *argvp += optind; 116*41457Sbostic } 117