]>
Commit | Line | Data |
---|---|---|
959ef981 | 1 | // SPDX-License-Identifier: GPL-2.0 |
c6b24b3b | 2 | /* |
da23017d NS |
3 | * Copyright (c) 2000-2001,2005 Silicon Graphics, Inc. |
4 | * All Rights Reserved. | |
c6b24b3b NS |
5 | */ |
6 | ||
6b803e5a | 7 | #include "libxfs.h" |
c6b24b3b NS |
8 | #include <ctype.h> |
9 | #include "block.h" | |
10 | #include "bmap.h" | |
11 | #include "command.h" | |
c6b24b3b NS |
12 | #include "type.h" |
13 | #include "faddr.h" | |
14 | #include "fprint.h" | |
15 | #include "field.h" | |
16 | #include "inode.h" | |
17 | #include "io.h" | |
18 | #include "output.h" | |
4ca431fc | 19 | #include "init.h" |
4a87b332 | 20 | #include "text.h" |
c6b24b3b NS |
21 | |
22 | static void print_rawtext(void *data, int len); | |
23 | ||
24 | void | |
25 | print_text( | |
dfc130f3 RC |
26 | const field_t *fields, |
27 | int argc, | |
28 | char **argv) | |
c6b24b3b | 29 | { |
dfc130f3 | 30 | print_rawtext(iocur_top->data, iocur_top->len); |
c6b24b3b NS |
31 | } |
32 | ||
33 | static void | |
34 | print_rawtext( | |
dfc130f3 RC |
35 | void *data, |
36 | int len) | |
c6b24b3b | 37 | { |
dfc130f3 RC |
38 | int i; |
39 | int j; | |
40 | int lastaddr; | |
41 | int offchars; | |
42 | unsigned char *p; | |
c6b24b3b | 43 | |
dfc130f3 RC |
44 | lastaddr = (len - 1) & ~(16 - 1); |
45 | if (lastaddr < 0x10) | |
46 | offchars = 1; | |
47 | else if (lastaddr < 0x100) | |
48 | offchars = 2; | |
49 | else if (lastaddr < 0x1000) | |
50 | offchars = 3; | |
51 | else | |
52 | offchars = 4; | |
c6b24b3b | 53 | |
dfc130f3 RC |
54 | for (i = 0, p = data; i < len; i += 16) { |
55 | unsigned char *s = p; | |
c6b24b3b | 56 | |
dfc130f3 | 57 | dbprintf("%-0*.*x: ", offchars, offchars, i); |
c6b24b3b | 58 | |
dfc130f3 RC |
59 | for (j = 0; j < 16 && i + j < len; j++, p++) { |
60 | dbprintf("%02x ", *p); | |
61 | } | |
c6b24b3b | 62 | |
dfc130f3 | 63 | dbprintf(" "); |
c6b24b3b | 64 | |
dfc130f3 RC |
65 | for (j = 0; j < 16 && i + j < len; j++, s++) { |
66 | if (isalnum(*s)) | |
67 | dbprintf("%c", *s); | |
68 | else | |
69 | dbprintf(".", *s); | |
70 | } | |
c6b24b3b | 71 | |
dfc130f3 RC |
72 | dbprintf("\n"); |
73 | } | |
c6b24b3b | 74 | } |