Changeset 36795edf in mainline for uspace/lib/c/include/macros.h


Ignore:
Timestamp:
2021-03-12T19:16:51Z (4 years ago)
Author:
Martin Decky <martin@…>
Branches:
lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
Children:
a85d5c6
Parents:
17fac946
Message:

Improve lists and other data structures

Provide more standard-compliant member_to_inst implementation that uses
offsetof. Avoid potential undefined behavior in list_foreach and
list_foreach_rev by avoiding assinging an unaligned pointer value. Use
size_t instead of unsigned long for list length.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • uspace/lib/c/include/macros.h

    r17fac946 r36795edf  
    5555            | ((((uint64_t) (up)) & 0xffffffff) << 32))
    5656
    57 #define member_to_inst(ptr_member, type, member_identif) \
    58         ((type *) (((void *) (ptr_member)) - \
    59             ((void *) &(((type *) 0)->member_identif))))
    60 
    6157#define _paddname(line)     PADD_ ## line ## __
    6258#define _padd(width, line, n)  uint ## width ## _t _paddname(line) [n]
Note: See TracChangeset for help on using the changeset viewer.