@@ -215,6 +215,8 @@ char hexxa[] = "0123456789abcdef0123456789ABCDEF", *hexx = hexxa;
215
215
#define HEX_BITS 3 /* not hex a dump, but bits: 01111001 */
216
216
#define HEX_LITTLEENDIAN 4
217
217
218
+ #define CONDITIONAL_CAPITALIZE (c ) (capitalize ? toupper((int)c) : c)
219
+
218
220
static char * pname ;
219
221
220
222
static void
@@ -225,6 +227,7 @@ exit_with_usage(void)
225
227
fprintf (stderr , "Options:\n" );
226
228
fprintf (stderr , " -a toggle autoskip: A single '*' replaces nul-lines. Default off.\n" );
227
229
fprintf (stderr , " -b binary digit dump (incompatible with -ps,-i,-r). Default hex.\n" );
230
+ fprintf (stderr , " -C capitalize variable names in C include file style (-i).\n" );
228
231
fprintf (stderr , " -c cols format <cols> octets per line. Default 16 (-i: 12, -ps: 30).\n" );
229
232
fprintf (stderr , " -E show characters in EBCDIC. Default ASCII.\n" );
230
233
fprintf (stderr , " -e little-endian dump (incompatible with -ps,-i,-r).\n" );
@@ -459,7 +462,7 @@ main(int argc, char *argv[])
459
462
{
460
463
FILE * fp , * fpo ;
461
464
int c , e , p = 0 , relseek = 1 , negseek = 0 , revert = 0 ;
462
- int cols = 0 , nonzero = 0 , autoskip = 0 , hextype = HEX_NORMAL ;
465
+ int cols = 0 , nonzero = 0 , autoskip = 0 , hextype = HEX_NORMAL , capitalize = 0 ;
463
466
int ebcdic = 0 ;
464
467
int octspergrp = -1 ; /* number of octets grouped in output */
465
468
int grplen ; /* total chars per octet group */
@@ -495,6 +498,7 @@ main(int argc, char *argv[])
495
498
else if (!STRNCMP (pp , "-u" , 2 )) hexx = hexxa + 16 ;
496
499
else if (!STRNCMP (pp , "-p" , 2 )) hextype = HEX_POSTSCRIPT ;
497
500
else if (!STRNCMP (pp , "-i" , 2 )) hextype = HEX_CINCLUDE ;
501
+ else if (!STRNCMP (pp , "-C" , 2 )) capitalize = 1 ;
498
502
else if (!STRNCMP (pp , "-r" , 2 )) revert ++ ;
499
503
else if (!STRNCMP (pp , "-E" , 2 )) ebcdic ++ ;
500
504
else if (!STRNCMP (pp , "-v" , 2 ))
@@ -722,7 +726,7 @@ main(int argc, char *argv[])
722
726
if (fprintf (fpo , "unsigned char %s" , isdigit ((int )argv [1 ][0 ]) ? "__" : "" ) < 0 )
723
727
die (3 );
724
728
for (e = 0 ; (c = argv [1 ][e ]) != 0 ; e ++ )
725
- if (putc (isalnum (c ) ? c : '_' , fpo ) == EOF )
729
+ if (putc (isalnum (c ) ? CONDITIONAL_CAPITALIZE ( c ) : '_' , fpo ) == EOF )
726
730
die (3 );
727
731
if (fputs ("[] = {\n" , fpo ) == EOF )
728
732
die (3 );
@@ -750,9 +754,9 @@ main(int argc, char *argv[])
750
754
if (fprintf (fpo , "unsigned int %s" , isdigit ((int )argv [1 ][0 ]) ? "__" : "" ) < 0 )
751
755
die (3 );
752
756
for (e = 0 ; (c = argv [1 ][e ]) != 0 ; e ++ )
753
- if (putc (isalnum (c ) ? c : '_' , fpo ) == EOF )
757
+ if (putc (isalnum (c ) ? CONDITIONAL_CAPITALIZE ( c ) : '_' , fpo ) == EOF )
754
758
die (3 );
755
- if (fprintf (fpo , "_len = %d;\n" , p ) < 0 )
759
+ if (fprintf (fpo , "_%s = %d;\n" , capitalize ? "LEN" : "len " , p ) < 0 )
756
760
die (3 );
757
761
}
758
762
0 commit comments