Changeset dcb74c0a in mainline for uspace/drv/bus/usb


Ignore:
Timestamp:
2011-07-03T10:05:21Z (14 years ago)
Author:
Jiri Svoboda <jiri@…>
Branches:
lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
Children:
64e6945d
Parents:
8e1a819
Message:

Add function to str.c to convert space-padded ASCII to standard string
representation. Use for decoding SCSI strings.

Location:
uspace/drv/bus/usb/usbmast
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • uspace/drv/bus/usb/usbmast/inquiry.c

    r8e1a819 rdcb74c0a  
    6262}
    6363
    64 /** Trim trailing spaces from a string (rewrite with string terminator).
    65  *
    66  * @param name String to be trimmed (in-out parameter).
    67  */
    68 static void trim_trailing_spaces(char *name)
    69 {
    70         size_t len = str_length(name);
    71         while ((len > 0) && isspace((int) name[len - 1])) {
    72                 name[len - 1] = 0;
    73                 len--;
    74         }
    75 }
    76 
    7764/** Perform SCSI INQUIRY command on USB mass storage device.
    7865 *
     
    126113            SCSI_RMB_RMB, SCSI_RMB_RMB);
    127114
    128         str_ncpy(inquiry_result->vendor, 1 + sizeof(inq_data.vendor),
    129             (const char *) &inq_data.vendor, sizeof(inq_data.vendor));
    130         trim_trailing_spaces(inquiry_result->vendor);
     115        spascii_to_str(inquiry_result->vendor, SCSI_INQ_VENDOR_STR_BUFSIZE,
     116            inq_data.vendor, sizeof(inq_data.vendor));
    131117
    132         str_ncpy(inquiry_result->product, 1 + sizeof(inq_data.product),
    133             (const char *) &inq_data.product, sizeof(inq_data.product));
    134         trim_trailing_spaces(inquiry_result->product);
     118        spascii_to_str(inquiry_result->product, SCSI_INQ_PRODUCT_STR_BUFSIZE,
     119            inq_data.product, sizeof(inq_data.product));
    135120
    136         str_ncpy(inquiry_result->revision, 1 + sizeof(inq_data.revision),
    137             (const char *) &inq_data.revision, sizeof(inq_data.revision));
    138         trim_trailing_spaces(inquiry_result->revision);
     121        spascii_to_str(inquiry_result->revision, SCSI_INQ_REVISION_STR_BUFSIZE,
     122            inq_data.revision, sizeof(inq_data.revision));
    139123
    140124        return EOK;
  • uspace/drv/bus/usb/usbmast/mast.h

    r8e1a819 rdcb74c0a  
    3737#define USB_USBMAST_MAST_H_
    3838
     39#include <scsi/spc.h>
    3940#include <sys/types.h>
    4041#include <usb/usb.h>
     
    5253        bool removable;
    5354        /** Vendor ID string */
    54         char vendor[9];
     55        char vendor[SCSI_INQ_VENDOR_STR_BUFSIZE];
    5556        /** Product ID string */
    56         char product[17];
     57        char product[SCSI_INQ_PRODUCT_STR_BUFSIZE];
    5758        /** Revision string */
    58         char revision[17];
     59        char revision[SCSI_INQ_REVISION_STR_BUFSIZE];
    5960} usb_massstor_inquiry_result_t;
    6061
Note: See TracChangeset for help on using the changeset viewer.