Line data Source code
1 : /****************************************************************************** 2 : * $Id$ 3 : * 4 : * Project: ASI CEOS Translator 5 : * Purpose: Link list function replacements. 6 : * Author: Frank Warmerdam, warmerda@home.com 7 : * 8 : ****************************************************************************** 9 : * Copyright (c) 2000, Atlantis Scientific Inc 10 : * 11 : * SPDX-License-Identifier: MIT 12 : ****************************************************************************/ 13 : 14 : #include "ceos.h" 15 : 16 : /************************************************************************/ 17 : /* ceos2CreateLink() */ 18 : /************************************************************************/ 19 : 20 46 : Link_t *ceos2CreateLink(void *pObject) 21 : 22 : { 23 46 : Link_t *psLink = (Link_t *)CPLCalloc(sizeof(Link_t), 1); 24 : 25 46 : psLink->object = pObject; 26 : 27 46 : return psLink; 28 : } 29 : 30 : /************************************************************************/ 31 : /* DestroyList() */ 32 : /************************************************************************/ 33 : 34 8 : void DestroyList(Link_t *psList) 35 : 36 : { 37 54 : while (psList != NULL) 38 : { 39 46 : Link_t *psNext = psList->next; 40 : 41 46 : CPLFree(psList); 42 46 : psList = psNext; 43 : } 44 8 : } 45 : 46 : /************************************************************************/ 47 : /* InsertLink() */ 48 : /************************************************************************/ 49 : 50 40 : Link_t *InsertLink(Link_t *psList, Link_t *psLink) 51 : 52 : { 53 40 : psLink->next = psList; 54 : 55 40 : return psLink; 56 : } 57 : 58 : /************************************************************************/ 59 : /* AddLink() */ 60 : /************************************************************************/ 61 : 62 0 : Link_t *AddLink(Link_t *psList, Link_t *psLink) 63 : 64 : { 65 : Link_t *psNode; 66 : 67 0 : if (psList == NULL) 68 0 : return psLink; 69 : 70 0 : for (psNode = psList; psNode->next != NULL; psNode = psNode->next) 71 : { 72 : } 73 : 74 0 : psNode->next = psLink; 75 : 76 0 : return psList; 77 : }