Ignore:
File:
1 edited

Legend:

Unmodified
Added
Removed
  • uspace/lib/usbhid/src/hidpath.c

    r9d58539 r07525cd  
    4141#include <assert.h>
    4242
    43 /*---------------------------------------------------------------------------*/
     43
    4444/**
    4545 * Compares two usages if they are same or not or one of the usages is not
     
    6363        ((page1 == page2) || (page1 == 0) || (page2 == 0))
    6464
    65 /*---------------------------------------------------------------------------*/
     65
    6666/**
    6767 * Appends one item (couple of usage_path and usage) into the usage path
     
    9393}
    9494
    95 /*---------------------------------------------------------------------------*/
     95
    9696/**
    9797 * Removes last item from the usage path structure
     
    114114}
    115115
    116 /*---------------------------------------------------------------------------*/
     116
    117117/**
    118118 * Nulls last item of the usage path structure.
     
    133133}
    134134
    135 /*---------------------------------------------------------------------------*/
     135
    136136/**
    137137 * Modifies last item of usage path structure by given usage page or usage
     
    164164}
    165165
    166 /*---------------------------------------------------------------------------*/
     166
    167167/**
    168168 *
     
    176176        usb_log_debug("\tLENGTH: %d\n", path->depth);
    177177
    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);
     178        list_foreach(path->items, rpath_items_link,
     179            usb_hid_report_usage_path_t, path_item) {
    183180
    184181                usb_log_debug("\tUSAGE_PAGE: %X\n", path_item->usage_page);
     
    188185}
    189186
    190 /*---------------------------------------------------------------------------*/
     187
    191188/**
    192189 * Compares two usage paths structures
     
    237234                        usb_hid_report_usage_path_t, rpath_items_link);
    238235
    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);
     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)) {
    242241                               
    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                                                        
     242                                if (only_page == 0) {
     243                                        if (USB_HID_SAME_USAGE(report_item->usage,
     244                                            path_item->usage))
    251245                                                return EOK;
    252                                         }
    253246                                }
    254247                                else {
     
    266259                        return 1;
    267260                }
    268                
     261
    269262        /* path is prefix of the report_path */
    270263        case USB_HID_PATH_COMPARE_BEGIN:
    271        
     264
    272265                report_link = report_path->items.head.next;
    273266                path_link = path->items.head.next;
     267               
     268                while ((report_link != &report_path->items.head) &&
     269                    (path_link != &path->items.head)) {
    274270                       
    275                 while((report_link != &report_path->items.head) &&
    276                       (path_link != &path->items.head)) {
    277                                          
    278271                        report_item = list_get_instance(report_link,
    279                                 usb_hid_report_usage_path_t, rpath_items_link);
    280                                          
     272                            usb_hid_report_usage_path_t, rpath_items_link);
     273                       
    281274                        path_item = list_get_instance(path_link,
    282275                                usb_hid_report_usage_path_t, rpath_items_link);
    283276
    284                         if(!USB_HID_SAME_USAGE_PAGE(report_item->usage_page,
    285                                 path_item->usage_page) || ((only_page == 0) &&
     277                        if (!USB_HID_SAME_USAGE_PAGE(report_item->usage_page,
     278                            path_item->usage_page) || ((only_page == 0) &&
    286279                            !USB_HID_SAME_USAGE(report_item->usage,
    287                                 path_item->usage))) {
    288                        
     280                            path_item->usage))) {
    289281                                return 1;
    290                         }
    291                         else {
     282                        } else {
    292283                                report_link = report_link->next;
    293                                 path_link = path_link->next;                   
     284                                path_link = path_link->next;
    294285                        }
    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                                
     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))) {
    303292                        return EOK;
    304                 }
    305                 else {
     293                } else {
    306294                        return 1;
    307                 }                                               
     295                }
    308296                break;
    309297
     
    354342}
    355343
    356 /*---------------------------------------------------------------------------*/
     344
    357345/**
    358346 * Allocates and initializes new usage path structure.
     
    376364}
    377365
    378 /*---------------------------------------------------------------------------*/
     366
    379367/**
    380368 * Releases given usage path structure.
     
    395383}
    396384
    397 /*---------------------------------------------------------------------------*/
     385
    398386/**
    399387 * Clone content of given usage path to the new one
     
    405393        usb_hid_report_path_t *usage_path)
    406394{
    407         usb_hid_report_usage_path_t *path_item;
    408395        usb_hid_report_usage_path_t *new_path_item;
    409396        usb_hid_report_path_t *new_usage_path = usb_hid_report_path ();
     
    419406        }
    420407
    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);
     408        list_foreach(usage_path->items, rpath_items_link,
     409            usb_hid_report_usage_path_t, path_item) {
    424410
    425411                new_path_item = malloc(sizeof(usb_hid_report_usage_path_t));
     
    441427}
    442428
    443 /*---------------------------------------------------------------------------*/
     429
    444430/**
    445431 * Sets report id in usage path structure
Note: See TracChangeset for help on using the changeset viewer.