view close.cpp @ 508:23c47e118bc6

Better soap memory correctness. Pass the struct soap down through audioDB::query into Reporter::report methods. We go through the audioDB constructor and do everything on the stack. We'll eventually also need to add a pointer member within the audioDB object, so that non-local transfers of control (particularly audioDB::error) can still allocate soap-specific memory. Then use soap_malloc() not new[] for memory allocation of adbQueryResponse data structures.
author mas01cr
date Tue, 13 Jan 2009 21:37:14 +0000
parents 342822c2d49a
children cc2b97d020b1
line wrap: on
line source
#include "audioDB.h"
extern "C" {
#include "audioDB_API.h"
#include "audioDB-internals.h"
}

void audiodb_close(adb_t *adb) {
  free(adb->path);
  free(adb->header);
  delete adb->keys;
  delete adb->keymap;
  delete adb->track_lengths;
  delete adb->track_offsets;
  if(adb->cached_lsh) {
    delete adb->cached_lsh;
  }
  close(adb->fd);
  free(adb);
}