Changeset dd5c623 in mainline for uspace/lib/c/generic/adt/dyn_array.c


Ignore:
Timestamp:
2019-08-03T09:44:51Z (5 years ago)
Author:
Matthieu Riolo <matthieu.riolo@…>
Children:
4224ef7
Parents:
dda2602
git-author:
Michal Koutný <xm.koutny+hos@…> (2015-05-08 11:21:11)
git-committer:
Matthieu Riolo <matthieu.riolo@…> (2019-08-03 09:44:51)
Message:

dyn_array: Non-allocating initialization API

File:
1 edited

Legend:

Unmodified
Added
Removed
  • uspace/lib/c/generic/adt/dyn_array.c

    rdda2602 rdd5c623  
    7373        assert(index < da->size);
    7474        _dyn_array_unshift(da, index, 1);
    75         int rc = _dyn_array_reserve(da, da->size);
     75        int rc = dyn_array_reserve(da, da->size);
    7676        assert(rc == EOK);
    7777}
     
    8383}
    8484
    85 int _dyn_array_initialize(dyn_array_t *da, size_t item_size, size_t capacity)
    86 {
    87         da->_item_size = item_size;
    88         da->_data = NULL;
    89 
    90         da->capacity = 0;
    91         da->size = 0;
    92 
    93         return _dyn_array_reserve(da, capacity);
    94 }
    95 
    9685/** Grows/shrinks array so that it effeciently stores desired capacity
    9786 *
    9887 * @param      da
    99  * @param[in]  desired capacity of array
     88 * @param[in]  desired capacity of array (items)
    10089 *
    10190 * @return EOK
    10291 * @return ENOMEM
    10392 */
    104 int _dyn_array_reserve(dyn_array_t *da, size_t capacity)
     93int dyn_array_reserve(dyn_array_t *da, size_t capacity)
    10594{
    10695        const size_t factor = 2;
     
    115104
    116105        return dyn_array_realloc(da, new_capacity);
     106}
     107
     108void _dyn_array_initialize(dyn_array_t *da, size_t item_size)
     109{
     110        da->_item_size = item_size;
     111        da->_data = NULL;
     112
     113        da->capacity = 0;
     114        da->size = 0;
    117115}
    118116
Note: See TracChangeset for help on using the changeset viewer.