diff options
author | Matt Kraai <kraai@alumni.carnegiemellon.edu> | 2001-08-22 21:02:06 +0000 |
---|---|---|
committer | Matt Kraai <kraai@gcc.gnu.org> | 2001-08-22 21:02:06 +0000 |
commit | ffb9435bfeac322c70a2c1e35f456e1bca44673e (patch) | |
tree | 2c046d630a67dd6c1b71bda350b3ae98b6aa109a /libiberty/fibheap.c | |
parent | 29401c300b273963c88bb08bb6282acdf11e75c2 (diff) | |
download | gcc-ffb9435bfeac322c70a2c1e35f456e1bca44673e.zip gcc-ffb9435bfeac322c70a2c1e35f456e1bca44673e.tar.gz gcc-ffb9435bfeac322c70a2c1e35f456e1bca44673e.tar.bz2 |
fibheap.c (fibheap_init, [...]): Remove.
* fibheap.c (fibheap_init, fibnode_init): Remove.
(fibheap_new, fibnode_new): Use xcalloc to allocate and
initialize memory.
(fibheap_insert): Remove check for node allocation failure.
From-SVN: r45113
Diffstat (limited to 'libiberty/fibheap.c')
-rw-r--r-- | libiberty/fibheap.c | 53 |
1 files changed, 9 insertions, 44 deletions
diff --git a/libiberty/fibheap.c b/libiberty/fibheap.c index 7431e11..0ba9b8d 100644 --- a/libiberty/fibheap.c +++ b/libiberty/fibheap.c @@ -37,7 +37,6 @@ Boston, MA 02111-1307, USA. */ #define FIBHEAPKEY_MIN LONG_MIN -static void fibheap_init PARAMS ((fibheap_t)); static void fibheap_ins_root PARAMS ((fibheap_t, fibnode_t)); static void fibheap_rem_root PARAMS ((fibheap_t, fibnode_t)); static void fibheap_consolidate PARAMS ((fibheap_t)); @@ -49,62 +48,29 @@ static int fibheap_compare PARAMS ((fibheap_t, fibnode_t, fibnode_t)); static int fibheap_comp_data PARAMS ((fibheap_t, fibheapkey_t, void *, fibnode_t)); static fibnode_t fibnode_new PARAMS ((void)); -static void fibnode_init PARAMS ((fibnode_t)); static void fibnode_insert_after PARAMS ((fibnode_t, fibnode_t)); #define fibnode_insert_before(a, b) fibnode_insert_after (a->left, b) static fibnode_t fibnode_remove PARAMS ((fibnode_t)); -/* Initialize the passed in fibonacci heap. */ -static inline void -fibheap_init (heap) - fibheap_t heap; -{ - heap->nodes = 0; - heap->min = NULL; - heap->root = NULL; -} - /* Create a new fibonacci heap. */ fibheap_t fibheap_new () { - fibheap_t result; - - if ((result = xmalloc (sizeof (*result))) == NULL) - return NULL; - - fibheap_init (result); - - return result; -} - -/* Initialize the passed in fibonacci heap node. */ -static inline void -fibnode_init (node) - fibnode_t node; -{ - node->degree = 0; - node->mark = 0; - node->parent = NULL; - node->child = NULL; - node->left = node; - node->right = node; - node->data = NULL; + return (fibheap_t) xcalloc (1, sizeof (struct fibheap)); } /* Create a new fibonacci heap node. */ -static inline fibnode_t +static fibnode_t fibnode_new () { - fibnode_t e; - - if ((e = xmalloc (sizeof *e)) == NULL) - return NULL; + fibnode_t node; - fibnode_init (e); + node = xcalloc (1, sizeof *node); + node->left = node; + node->right = node; - return e; + return node; } static inline int @@ -144,9 +110,8 @@ fibheap_insert (heap, key, data) { fibnode_t node; - /* Create the new node, if we fail, return NULL. */ - if ((node = fibnode_new ()) == NULL) - return NULL; + /* Create the new node. */ + node = fibnode_new (); /* Set the node's data. */ node->data = data; |