void sparkey_hash_close()

in src/hashreader.c [98:121]


void sparkey_hash_close(sparkey_hashreader **reader_ref) {
  if (reader_ref == NULL) {
    return;
  }
  sparkey_hashreader *reader = *reader_ref;
  if (reader == NULL) {
    return;
  }

  sparkey_logreader_close_nodealloc(&reader->log);

  if (reader->open_status == MAGIC_VALUE_HASHREADER) {
    reader->open_status = 0;
    if (reader->data != NULL) {
      munmap(reader->data, reader->data_len);
      reader->data = NULL;
    }
    close(reader->fd);
    reader->fd = -1;
  }

  free(reader);
  *reader_ref = NULL;
}