|
@@ -282,12 +282,12 @@ qi_list_t *qi_list_copy(qi_list_t *list)
|
|
|
return newlist;
|
|
return newlist;
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
-qi_table_t *qi_table_make(void)
|
|
|
|
|
|
|
+static qi_table_t *qi_table_make_n(qi_size_t cap)
|
|
|
{
|
|
{
|
|
|
qi_table_t *table = qi_malloc(sizeof(qi_table_t));
|
|
qi_table_t *table = qi_malloc(sizeof(qi_table_t));
|
|
|
|
|
|
|
|
table->used = 0;
|
|
table->used = 0;
|
|
|
- table->capacity = QI_TABLE_MIN_CAP;
|
|
|
|
|
|
|
+ table->capacity = cap;
|
|
|
|
|
|
|
|
table->entries = qi_calloc(table->capacity, sizeof(qi_table_entry_t));
|
|
table->entries = qi_calloc(table->capacity, sizeof(qi_table_entry_t));
|
|
|
|
|
|
|
@@ -297,6 +297,11 @@ qi_table_t *qi_table_make(void)
|
|
|
return table;
|
|
return table;
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
|
|
+qi_table_t *qi_table_make(void)
|
|
|
|
|
+{
|
|
|
|
|
+ return qi_table_make_n(QI_TABLE_MIN_CAP);
|
|
|
|
|
+}
|
|
|
|
|
+
|
|
|
static qi_table_t *qi_table_make_root(void)
|
|
static qi_table_t *qi_table_make_root(void)
|
|
|
{
|
|
{
|
|
|
qi_table_t *table = qi_malloc_root(sizeof(qi_table_t));
|
|
qi_table_t *table = qi_malloc_root(sizeof(qi_table_t));
|
|
@@ -706,7 +711,7 @@ qi_bool qi_table_delete(qi_table_t *table, char *key)
|
|
|
|
|
|
|
|
qi_table_t *qi_table_copy(qi_table_t *table)
|
|
qi_table_t *qi_table_copy(qi_table_t *table)
|
|
|
{
|
|
{
|
|
|
- qi_table_t *newtable = qi_table_make();
|
|
|
|
|
|
|
+ qi_table_t *newtable = qi_table_make_n(table->capacity);
|
|
|
qi_table_iterate(table, { qi_table_set(newtable, entry.key, entry.value); });
|
|
qi_table_iterate(table, { qi_table_set(newtable, entry.key, entry.value); });
|
|
|
|
|
|
|
|
return newtable;
|
|
return newtable;
|