- /* Ensure that the cache is large enough */
- if ( dict_get_var_cnt(d->dict) >= d->cache_size )
- {
- d->variables = g_realloc(d->variables, sizeof(struct PsppireVariable*) *
- (d->cache_size + CACHE_CHUNK));
- d->cache_size += CACHE_CHUNK;
- }
-
- /* Zero the new pointers */
- for ( ; i < d->cache_size ; ++i )
- {
- d->variables[i] = 0;
- }
-
- if ( ! name )
- name = auto_generate_var_name(d);
-
- var = dict_create_var(d->dict, name, 0);
-
- dict_reorder_var(d->dict, var, idx);
-
- d->variables[idx] = g_malloc(sizeof (struct PsppireVariable));
- d->variables[idx]->v = var;
- d->variables[idx]->dict = d;
-
- g_signal_emit(d, signal[VARIABLE_INSERTED], 0, idx );