Changeset 5e801dc in mainline for uspace/lib/block/block.c


Ignore:
Timestamp:
2019-02-25T14:42:38Z (6 years ago)
Author:
GitHub <noreply@…>
Branches:
lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
Children:
a4e78743
Parents:
ee8d4d6
git-author:
Jiří Zárevúcky <zarevucky.jiri@…> (2019-02-25 14:42:38)
git-committer:
GitHub <noreply@…> (2019-02-25 14:42:38)
Message:

Indicate and enforce constness of hash table key in certain functions (#158)

The assumption here is that modifying key in the hash/equal functions in something completely unexpected, and not something you would ever want to do intentionally, so it makes sense to disallow it entirely to get that extra level of checking.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • uspace/lib/block/block.c

    ree8d4d6 r5e801dc  
    241241}
    242242
    243 static size_t cache_key_hash(void *key)
    244 {
    245         aoff64_t *lba = (aoff64_t *)key;
     243static size_t cache_key_hash(const void *key)
     244{
     245        const aoff64_t *lba = key;
    246246        return *lba;
    247247}
     
    253253}
    254254
    255 static bool cache_key_equal(void *key, const ht_link_t *item)
    256 {
    257         aoff64_t *lba = (aoff64_t *)key;
     255static bool cache_key_equal(const void *key, const ht_link_t *item)
     256{
     257        const aoff64_t *lba = key;
    258258        block_t *b = hash_table_get_inst(item, block_t, hash_link);
    259259        return b->lba == *lba;
Note: See TracChangeset for help on using the changeset viewer.