error treeview_create(treeview_t **tr) { treeview_t *newtr; newtr = calloc(1, sizeof(*newtr)); if (newtr == NULL) return error_OOM; newtr->openable = bitvec_create(NNODES_ESTIMATE); newtr->open = bitvec_create(NNODES_ESTIMATE); newtr->multiline = bitvec_create(NNODES_ESTIMATE); if (newtr->openable == NULL || newtr->open == NULL || newtr->multiline == NULL) goto OOM; newtr->text_width = DEFAULT_TEXT_WIDTH; newtr->bgcolour = wimp_COLOUR_WHITE; /* default */ newtr->line_height = DEFAULT_LINE_HEIGHT; *tr = newtr; return error_OK; OOM: treeview_destroy(newtr); return error_OOM; }
/* Exported interface, documented in cookie_manager.h */ nserror cookie_manager_fini(void) { int i; nserror err; LOG(("Finalising cookie manager")); cm_ctx.built = false; /* Destroy the cookie manager treeview */ err = treeview_destroy(cm_ctx.tree); /* Free cookie manager treeview entry fields */ for (i = 0; i < COOKIE_M_N_FIELDS; i++) if (cm_ctx.fields[i].field != NULL) lwc_string_unref(cm_ctx.fields[i].field); /* Free cookie manager treeview common entry values */ for (i = 0; i < COOKIE_M_N_VALUES; i++) if (cm_ctx.values[i].value != NULL) free((void *) cm_ctx.values[i].value); LOG(("Finalised cookie manager")); return err; }
/* Exported interface, documented in global_history.h */ nserror global_history_fini(void) { int i; nserror err; LOG("Finalising global history"); gh_ctx.built = false; /* Destroy the global history treeview */ err = treeview_destroy(gh_ctx.tree); /* Free global history treeview entry fields */ for (i = 0; i < N_FIELDS; i++) if (gh_ctx.fields[i].field != NULL) lwc_string_unref(gh_ctx.fields[i].field); LOG("Finalised global history"); return err; }