From: Shirish Pargaonkar <spargaonkar@xxxxxxxx> sginfo <device> prints out various fields such as Vendor and Product in INQUIRY response with spaces (0x20) characters. This can confuse scripts some users have. A change to sysfs attributes such that it now includes spaces caused this problem. Strip out those trailing spaces (if any). Signed-off-by: Shirish Pargaonkar <spargaonkar@xxxxxxxx> --- Index: src/sginfo.c =================================================================== --- src.orig/sginfo.c 2014-04-02 22:36:13.779692431 -0500 +++ src/sginfo.c 2014-04-02 22:51:36.028265615 -0500 @@ -155,6 +155,7 @@ #define MAX_BUFFER_SIZE MAX_RESP10_SIZE #define INQUIRY_RESP_INITIAL_LEN 36 +#define MAX_INQFIELD_LEN 17 #define MAX_HEADS 127 #define HEAD_SORT_TOKEN 0x55 @@ -3139,11 +3140,23 @@ return status; } +static void +inqfieldname(unsigned char *deststr, const unsigned char *srcbuf, int maxlen) +{ + int i; + + memset(deststr, '\0', MAX_INQFIELD_LEN); + for (i = maxlen - 1; i >= 0 && isspace(srcbuf[i]); --i) + ; + memcpy(deststr, srcbuf, i + 1); +} + static int do_inquiry(int * peri_type, int * resp_byte6, int inquiry_verbosity) { int status; unsigned char cmd[6]; + unsigned char fieldname[MAX_INQFIELD_LEN]; unsigned char *pagestart; struct scsi_cmnd_io sci; @@ -3214,14 +3227,18 @@ } if (x_interface) printf("\n"); - printf("%s%.8s\n", (!x_interface ? "Vendor: " : ""), - pagestart + 8); - - printf("%s%.16s\n", (!x_interface ? "Product: " : ""), - pagestart + 16); - printf("%s%.4s\n", (!x_interface ? "Revision level: " : ""), - pagestart + 32); + inqfieldname(fieldname, pagestart + 8, 8); + printf("%s%s\n", (!x_interface ? "Vendor: " : ""), + fieldname); + + inqfieldname(fieldname, pagestart + 16, 16); + printf("%s%s\n", (!x_interface ? "Product: " : ""), + fieldname); + + inqfieldname(fieldname, pagestart + 32, 4); + printf("%s%s\n", (!x_interface ? "Revision level: " : ""), + fieldname); printf("\n"); return status; -- To unsubscribe from this list: send the line "unsubscribe linux-scsi" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html