* File: cm_llist.c
*
*/
-#ifdef ANSI
Void cmLListInit
(
CmLListCp *lCp /* list control point */
)
-#else
-Void cmLListInit(lCp)
-CmLListCp *lCp; /* list control point */
-#endif
{
lCp->first = (CmLList *)NULLP;
* File: cm_llist.c
*
*/
-#ifdef ANSI
Void cmLListAdd2Head
(
CmLListCp *lCp, /* list control point */
CmLList *node /* node to be added */
)
-#else
-Void cmLListAdd2Head(lCp, node)
-CmLListCp *lCp; /* list control point */
-CmLList *node; /* node to be added */
-#endif
{
#ifdef ERRCHK
* File: cm_llist.c
*
*/
-#ifdef ANSI
Void cmLListAdd2Tail
(
CmLListCp *lCp, /* list control point */
CmLList *node /* node to be added */
)
-#else
-Void cmLListAdd2Tail(lCp, node)
-CmLListCp *lCp; /* list control point */
-CmLList *node; /* node to be added */
-#endif
{
#ifdef ERRCHK
* File: cm_llist.c
*
*/
-#ifdef ANSI
Void cmLListInsCrnt
(
CmLListCp *lCp, /* list control point */
CmLList *node /* node to be added */
)
-#else
-Void cmLListInsCrnt(lCp, node)
-CmLListCp *lCp; /* list control point */
-CmLList *node; /* node to be added */
-#endif
{
#ifdef ERRCHK
* File: cm_llist.c
*
*/
-#ifdef ANSI
Void cmLListInsAfterCrnt
(
CmLListCp *lCp, /* list control point */
CmLList *node /* node to be added */
)
-#else
-Void cmLListInsAfterCrnt(lCp, node)
-CmLListCp *lCp; /* list control point */
-CmLList *node; /* node to be added */
-#endif
{
#ifdef ERRCHK
* File: cm_llist.c
*
*/
-#ifdef ANSI
CmLList *cmLListDelFrm
(
CmLListCp *lCp, /* list control pointer */
CmLList *node /* node to be removed */
)
-#else
-CmLList *cmLListDelFrm(lCp, node)
-CmLListCp *lCp; /* list control pointer */
-CmLList *node; /* node to be removed */
-#endif
{
#ifdef ERRCHK
* File: cm_llist.c
*
--*/
-#ifdef ANSI
Void cmLListCatLList
(
- CmLListCp *list1, /*-- list control point --*/
- CmLListCp *list2 /*-- node to be added --*/
- )
-#else
-Void cmLListCatLList(list1, list2)
- CmLListCp *list1; /*-- list control point --*/
- CmLListCp *list2; /*-- node to be added --*/
-#endif
+CmLListCp *list1, /*-- list control point --*/
+CmLListCp *list2 /*-- node to be added --*/
+)
{
/*-- if the second list is empty nothing to do --*/
return;
} /*-- end of cmLListCatLList --*/
+
+/*--
+ *
+ * Fun: cmLListDeleteLList
+ *
+ * Desc: delete a linked list
+ *
+ * Ret: None
+ *
+ * Notes: None
+ *
+ * File: cm_llist.c
+ *
+ --*/
+Void cmLListDeleteLList
+(
+CmLListCp *list /*-- list control point --*/
+)
+{
+ while(list->count)
+ {
+ cmLListDelFrm(list, list->first);
+ }
+ return;
+}
+
/**********************************************************************
End of file
**********************************************************************/