Changeset bb6f135 in mainline for kernel/generic/include/macros.h


Ignore:
Timestamp:
2012-02-09T22:19:06Z (12 years ago)
Author:
Jakub Jermar <jakub@…>
Branches:
lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
Children:
e10d41a
Parents:
3d4750f (diff), 492ddc9 (diff)
Note: this is a merge changeset, the changes displayed below correspond to the merge itself.
Use the (diff) links above to see all the changes relative to each parent.
Message:

Merge from lp:~jakub/helenos/mm.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • kernel/generic/include/macros.h

    r3d4750f rbb6f135  
    6969    uint64_t sz2)
    7070{
    71         uint64_t e1 = s1 + sz1;
    72         uint64_t e2 = s2 + sz2;
    73        
     71        uint64_t e1;
     72        uint64_t e2;
     73
     74        /* Handle the two corner cases when either sz1 or sz2 are zero. */
     75        if (sz1 == 0)
     76                return (s1 == s2) && (sz2 == 0);
     77        e1 = s1 + sz1 - 1;     
     78        if (sz2 == 0)
     79                return (s1 <= s2) && (s2 <= e1);
     80        e2 = s2 + sz2 - 1;
     81
     82        /* e1 and e2 are end addresses, the sum is imune to overflow */
    7483        return ((s1 <= s2) && (e1 >= e2));
    7584}
Note: See TracChangeset for help on using the changeset viewer.