* FreeRoleInheritanceTable releases all memory associated with the table. */
| 1687 | * FreeRoleInheritanceTable releases all memory associated with the table. |
| 1688 | */ |
| 1689 | static void |
| 1690 | FreeRoleInheritanceTable(HTAB *roleInheritanceTable) |
| 1691 | { |
| 1692 | if (roleInheritanceTable == NULL) |
| 1693 | { |
| 1694 | return; |
| 1695 | } |
| 1696 | |
| 1697 | HASH_SEQ_STATUS status; |
| 1698 | RoleParentEntry *entry; |
| 1699 | hash_seq_init(&status, roleInheritanceTable); |
| 1700 | while ((entry = hash_seq_search(&status)) != NULL) |
| 1701 | { |
| 1702 | if (entry->parentRoles != NIL) |
| 1703 | { |
| 1704 | list_free_deep(entry->parentRoles); |
| 1705 | } |
| 1706 | } |
| 1707 | |
| 1708 | hash_destroy(roleInheritanceTable); |
| 1709 | } |
| 1710 | |
| 1711 | |
| 1712 | /* |