-
-int mdump(char *start, LONG count, int flg, LONG base) {
- int i, j, k;
-
- j = 0;
- for(i = 0; i < (int)count;) {
- if((i & 15) == 0) {
- if(j < i) {
- printf(" ");
- while(j < i)
- visprt(start[j++]);
- putchar('\n');
- }
- j = i;
- if(base != -1)
- printf("%08lx ", base);
- }
-
- switch(flg & 3) {
- case 0:
- printf("%02x ", start[i] & 0xff);
- ++i;
- break;
- case 1:
- printf("%02x%02x ", start[i] & 0xff, start[i+1] & 0xff);
- i += 2;
- break;
- case 2:
- printf("%02x%02x%02x%02x ", start[i] & 0xff, start[i+1] & 0xff,
- start[i+2] & 0xff, start[i+3] & 0xff);
- i += 4;
- break;
- case 3:
- break;
- }
-
- if(base != -1)
- base += 1 << (flg & 3);
- }
-
- // Print remaining bit of ascii; the hairy expression computes the number of
- // spaces to print to make the ascii line up nicely.
- if(j != i) {
- k = ((16 - (i - j)) / (1 << (flg & 3))) * siztab[flg & 3];
- while(k--)
- putchar(' ');
- printf(" ");
- while(j < i)
- visprt(start[j++]);
- putchar('\n');
- }
-
- return(0);
+int mdump(char * start, LONG count, int flg, LONG base)
+{
+ int i, j, k;
+ j = 0;
+
+ for(i=0; i<(int)count;)
+ {
+ if ((i & 15) == 0)
+ {
+ if (j < i)
+ {
+ printf(" ");
+
+ while(j < i)
+ visprt(start[j++]);
+
+ putchar('\n');
+ }
+
+ j = i;
+
+ if (base != -1)
+ printf("%08X ", base);
+ }
+
+ switch (flg & 3)
+ {
+ case 0:
+ printf("%02X ", start[i] & 0xff);
+ ++i;
+ break;
+ case 1:
+ printf("%02X%02X ", start[i] & 0xff, start[i+1] & 0xff);
+ i += 2;
+ break;
+ case 2:
+ printf("%02X%02X%02X%02X ", start[i] & 0xff, start[i+1] & 0xff,
+ start[i+2] & 0xff, start[i+3] & 0xff);
+ i += 4;
+ break;
+ case 3:
+ break;
+ }
+
+ if (base != -1)
+ base += 1 << (flg & 3);
+ }
+
+ // Print remaining bit of ASCII; the hairy expression computes the number
+ // of spaces to print to make the ASCII line up nicely.
+ if (j != i)
+ {
+ k = ((16 - (i - j)) / (1 << (flg & 3))) * siztab[flg & 3];
+
+ while(k--)
+ putchar(' ');
+
+ printf(" ");
+
+ while(j < i)
+ visprt(start[j++]);
+
+ putchar('\n');
+ }
+
+ return 0;