summaryrefslogtreecommitdiffstats
path: root/ldap/servers/slapd/back-ldif/close.c
blob: 64d5284401ef2719d9519d6d30f0cded2ef7ff5a (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
/** BEGIN COPYRIGHT BLOCK
 * Copyright (C) 2001 Sun Microsystems, Inc. Used by permission.
 * Copyright (C) 2005 Red Hat, Inc.
 * All rights reserved.
 * END COPYRIGHT BLOCK **/
/* 
 *  File: close.c
 *
 *  Functions:
 * 
 *      ldif_back_close() - ldap ldif back-end close routine
 *
 */

#include "back-ldif.h"

/*
 *  Function: ldif_free_db
 *
 *  Returns: void
 *  
 *  Description: frees up the ldif database
 */
void
ldif_free_db(LDIF *db)
{
  ldif_Entry *cur;  /*Used for walking down the list*/

  /*If db is null, there is nothing to do*/
  if (db == NULL) {
    return;
  }

  /*Walk down the list, freeing up the ldif_entries*/
  for (cur = db->ldif_entries; cur != NULL; cur = cur->next){
    ldifentry_free(cur);
  }
  
  /*Free the ldif_file string, and then the db itself*/
  free ((void *)db->ldif_file);
  free((void *) db);
}



/*
 *  Function: ldif_back_close
 *
 *  Returns: void 
 *  
 *  Description: closes the ldif backend, frees up the database
 */
void
ldif_back_close( Slapi_PBlock *pb )
{
  LDIF   *db;
  
  LDAPDebug( LDAP_DEBUG_TRACE, "ldbm backend syncing\n", 0, 0, 0 );
  slapi_pblock_get( pb, SLAPI_PLUGIN_PRIVATE, &db );
  ldif_free_db(db);
  LDAPDebug( LDAP_DEBUG_TRACE, "ldbm backend done syncing\n", 0, 0, 0 );
}

/*
 *  Function: ldif_back_flush
 *
 *  Returns: void
 *  
 *  Description: does nothing
 */
void
ldif_back_flush( Slapi_PBlock *pb )
{
  LDAPDebug( LDAP_DEBUG_TRACE, "ldbm backend flushing\n", 0, 0, 0 );
  LDAPDebug( LDAP_DEBUG_TRACE, "ldbm backend done flushing\n", 0, 0, 0 );
  return;
}