diff mbox

[PATCHv2,1/4] Cleaned hexadecimal dump

Message ID 1426018353-13442-2-git-send-email-adrianremonda@gmail.com
State Accepted
Commit b78ce7ed54093e5e63d4f5d7cbdc3f7d42ebbd5c
Headers show

Commit Message

adrianremonda@gmail.com March 10, 2015, 8:12 p.m. UTC
v2: Fixed coding style and removed unnecessary castings
	As noted by Geert Uytterhoeven and Mark Brown

	modified:   Documentation/spi/spidev_test.c

Signed-off-by: Adrian Remonda <adrianremonda@gmail.com>
---
 Documentation/spi/spidev_test.c |   35 +++++++++++++++++++++++++++++------
 1 file changed, 29 insertions(+), 6 deletions(-)

Comments

Mark Brown March 10, 2015, 8:52 p.m. UTC | #1
On Tue, Mar 10, 2015 at 04:12:30PM -0400, Adrian Remonda wrote:
> 	v2: Fixed coding style and removed unnecessary castings
> 	As noted by Geert Uytterhoeven and Mark Brown
> 
> 	modified:   Documentation/spi/spidev_test.c

Applied, thanks, but please follow the process in SubmittingPatches:

 - Include stuff like the above after the ---
 - Use subject lines matching the style for the subsystem.
diff mbox

Patch

diff --git a/Documentation/spi/spidev_test.c b/Documentation/spi/spidev_test.c
index 3a2f9d59edab..9cb09184a3d6 100644
--- a/Documentation/spi/spidev_test.c
+++ b/Documentation/spi/spidev_test.c
@@ -15,6 +15,7 @@ 
 #include <unistd.h>
 #include <stdio.h>
 #include <stdlib.h>
+#include <string.h>
 #include <getopt.h>
 #include <fcntl.h>
 #include <sys/ioctl.h>
@@ -35,6 +36,33 @@  static uint8_t bits = 8;
 static uint32_t speed = 500000;
 static uint16_t delay;
 
+static void hex_dump(const void *src, size_t length, size_t line_size, char *prefix)
+{
+	int i = 0;
+	const unsigned char *address = src;
+	const unsigned char *line = address;
+	unsigned char c;
+
+	printf("%s | ", prefix);
+	while (length-- > 0) {
+		printf("%02X ", *address++);
+		if (!(++i % line_size) || (length == 0 && i % line_size)) {
+			if (length == 0) {
+				while (i++ % line_size)
+					printf("__ ");
+			}
+			printf(" | ");  /* right close */
+			while (line < address) {
+				c = *line++;
+				printf("%c", (c < 33 || c == 255) ? 0x2E : c);
+			}
+			printf("\n");
+			if (length > 0)
+				printf("%s | ", prefix);
+		}
+	}
+}
+
 static void transfer(int fd)
 {
 	int ret;
@@ -76,12 +104,7 @@  static void transfer(int fd)
 	if (ret < 1)
 		pabort("can't send spi message");
 
-	for (ret = 0; ret < ARRAY_SIZE(tx); ret++) {
-		if (!(ret % 6))
-			puts("");
-		printf("%.2X ", rx[ret]);
-	}
-	puts("");
+	hex_dump(rx, ARRAY_SIZE(rx), 32, "RX");
 }
 
 static void print_usage(const char *prog)