Changes in uspace/lib/usbhid/src/hidpath.c [07525cd:9d58539] in mainline
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
TabularUnified uspace/lib/usbhid/src/hidpath.c ¶
r07525cd r9d58539 41 41 #include <assert.h> 42 42 43 43 /*---------------------------------------------------------------------------*/ 44 44 /** 45 45 * Compares two usages if they are same or not or one of the usages is not … … 63 63 ((page1 == page2) || (page1 == 0) || (page2 == 0)) 64 64 65 65 /*---------------------------------------------------------------------------*/ 66 66 /** 67 67 * Appends one item (couple of usage_path and usage) into the usage path … … 93 93 } 94 94 95 95 /*---------------------------------------------------------------------------*/ 96 96 /** 97 97 * Removes last item from the usage path structure … … 114 114 } 115 115 116 116 /*---------------------------------------------------------------------------*/ 117 117 /** 118 118 * Nulls last item of the usage path structure. … … 133 133 } 134 134 135 135 /*---------------------------------------------------------------------------*/ 136 136 /** 137 137 * Modifies last item of usage path structure by given usage page or usage … … 164 164 } 165 165 166 166 /*---------------------------------------------------------------------------*/ 167 167 /** 168 168 * … … 176 176 usb_log_debug("\tLENGTH: %d\n", path->depth); 177 177 178 list_foreach(path->items, rpath_items_link, 179 usb_hid_report_usage_path_t, path_item) { 178 usb_hid_report_usage_path_t *path_item; 179 180 list_foreach(path->items, item) { 181 path_item = list_get_instance(item, usb_hid_report_usage_path_t, 182 rpath_items_link); 180 183 181 184 usb_log_debug("\tUSAGE_PAGE: %X\n", path_item->usage_page); … … 185 188 } 186 189 187 190 /*---------------------------------------------------------------------------*/ 188 191 /** 189 192 * Compares two usage paths structures … … 234 237 usb_hid_report_usage_path_t, rpath_items_link); 235 238 236 list_foreach(report_path->items, rpath_items_link, 237 usb_hid_report_usage_path_t, report_item) { 238 239 if (USB_HID_SAME_USAGE_PAGE(report_item->usage_page, 240 path_item->usage_page)) { 239 list_foreach(report_path->items, report_link) { 240 report_item = list_get_instance(report_link, 241 usb_hid_report_usage_path_t, rpath_items_link); 241 242 242 if (only_page == 0) { 243 if (USB_HID_SAME_USAGE(report_item->usage, 244 path_item->usage)) 243 if(USB_HID_SAME_USAGE_PAGE(report_item->usage_page, 244 path_item->usage_page)){ 245 246 if(only_page == 0){ 247 if(USB_HID_SAME_USAGE( 248 report_item->usage, 249 path_item->usage)) { 250 245 251 return EOK; 252 } 246 253 } 247 254 else { … … 259 266 return 1; 260 267 } 261 268 262 269 /* path is prefix of the report_path */ 263 270 case USB_HID_PATH_COMPARE_BEGIN: 264 271 265 272 report_link = report_path->items.head.next; 266 273 path_link = path->items.head.next; 267 268 while ((report_link != &report_path->items.head) &&269 (path_link != &path->items.head)) {270 274 275 while((report_link != &report_path->items.head) && 276 (path_link != &path->items.head)) { 277 271 278 report_item = list_get_instance(report_link, 272 273 279 usb_hid_report_usage_path_t, rpath_items_link); 280 274 281 path_item = list_get_instance(path_link, 275 282 usb_hid_report_usage_path_t, rpath_items_link); 276 283 277 if 278 284 if(!USB_HID_SAME_USAGE_PAGE(report_item->usage_page, 285 path_item->usage_page) || ((only_page == 0) && 279 286 !USB_HID_SAME_USAGE(report_item->usage, 280 path_item->usage))) { 287 path_item->usage))) { 288 281 289 return 1; 282 } else { 290 } 291 else { 283 292 report_link = report_link->next; 284 path_link = path_link->next; 293 path_link = path_link->next; 285 294 } 286 } 287 288 if ((((flags & USB_HID_PATH_COMPARE_BEGIN) != 0) && 289 (path_link == &path->items.head)) || 290 ((report_link == &report_path->items.head) && 291 (path_link == &path->items.head))) { 295 296 } 297 298 if((((flags & USB_HID_PATH_COMPARE_BEGIN) != 0) && 299 (path_link == &path->items.head)) || 300 ((report_link == &report_path->items.head) && 301 (path_link == &path->items.head))) { 302 292 303 return EOK; 293 } else { 304 } 305 else { 294 306 return 1; 295 } 307 } 296 308 break; 297 309 … … 342 354 } 343 355 344 356 /*---------------------------------------------------------------------------*/ 345 357 /** 346 358 * Allocates and initializes new usage path structure. … … 364 376 } 365 377 366 378 /*---------------------------------------------------------------------------*/ 367 379 /** 368 380 * Releases given usage path structure. … … 383 395 } 384 396 385 397 /*---------------------------------------------------------------------------*/ 386 398 /** 387 399 * Clone content of given usage path to the new one … … 393 405 usb_hid_report_path_t *usage_path) 394 406 { 407 usb_hid_report_usage_path_t *path_item; 395 408 usb_hid_report_usage_path_t *new_path_item; 396 409 usb_hid_report_path_t *new_usage_path = usb_hid_report_path (); … … 406 419 } 407 420 408 list_foreach(usage_path->items, rpath_items_link, 409 usb_hid_report_usage_path_t, path_item) { 421 list_foreach(usage_path->items, path_link) { 422 path_item = list_get_instance(path_link, 423 usb_hid_report_usage_path_t, rpath_items_link); 410 424 411 425 new_path_item = malloc(sizeof(usb_hid_report_usage_path_t)); … … 427 441 } 428 442 429 443 /*---------------------------------------------------------------------------*/ 430 444 /** 431 445 * Sets report id in usage path structure
Note:
See TracChangeset
for help on using the changeset viewer.