Changes in uspace/lib/usbdev/src/altiface.c [77ad86c:c01987c] in mainline
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
uspace/lib/usbdev/src/altiface.c
r77ad86c rc01987c 34 34 */ 35 35 36 #include <usb/dev/driver.h> 37 #include <usb/dev/request.h> 38 #include <usb/debug.h> 36 #include <usb/dev/alternate_ifaces.h> 39 37 #include <usb/dev/dp.h> 38 #include <assert.h> 40 39 #include <errno.h> 41 #include <str_error.h> 42 #include <assert.h> 40 #include <stdlib.h> 43 41 44 42 /** Count number of alternate settings of a interface. … … 105 103 } 106 104 107 alternates->alternative_count 108 = usb_interface_count_alternates(config_descr, config_descr_size, 109 interface_number); 105 const size_t alt_count = usb_interface_count_alternates(config_descr, 106 config_descr_size, interface_number); 110 107 111 if (alt ernates->alternative_count == 0) {108 if (alt_count == 0) { 112 109 return ENOENT; 113 110 } 114 111 115 alternates->alternatives = calloc(alternates->alternative_count,112 usb_alternate_interface_descriptors_t *alts = calloc(alt_count, 116 113 sizeof(usb_alternate_interface_descriptors_t)); 117 if (alt ernates->alternatives == NULL) {114 if (alts == NULL) { 118 115 return ENOMEM; 119 116 } … … 128 125 }; 129 126 130 usb_alternate_interface_descriptors_t *iterator131 = &alternates->alternatives[0];132 133 const usb_alternate_interface_descriptors_t *end134 = &alternates->alternatives[alternates->alternative_count];135 127 136 128 const void *iface_ptr = 137 129 usb_dp_get_nested_descriptor(&dp_parser, &dp_data, dp_data.data); 138 130 139 while (iface_ptr != NULL && iterator < end) { 131 usb_alternate_interface_descriptors_t *iterator = alts; 132 for (; iface_ptr != NULL && iterator < &alts[alt_count]; ++iterator) { 140 133 const usb_standard_interface_descriptor_t *iface = iface_ptr; 141 134 … … 159 152 dp_data.data + dp_data.size : iface_ptr; 160 153 161 iterator->nested_descriptors_size 162 = next - iterator->nested_descriptors; 154 iterator->nested_descriptors_size = 155 next - iterator->nested_descriptors; 156 } 163 157 164 ++iterator;165 }158 alternates->alternatives = alts; 159 alternates->alternative_count = alt_count; 166 160 167 161 return EOK;
Note:
See TracChangeset
for help on using the changeset viewer.