home *** CD-ROM | disk | FTP | other *** search
/ Amiga ISO Collection / AmigaUtilCD2.iso / Misc / SHMOD10.LHA / ShowModule / Modules / Pmodules / Plist / p_DoUpNode.e < prev    next >
Encoding:
Text File  |  1994-05-27  |  834 b   |  26 lines

  1. PROC p_DoUpNode(list:PTR TO lh,numnode) /*"p_DoUpNode(list:PTR TO lh,numnode)"*/
  2. /*===============================================================================
  3.  = Para         : address of a list,num of node.
  4.  = Return       : the number (and not the address) of the new node selected.
  5.  = Description  : move up a node.
  6.  ==============================================================================*/
  7.     DEF upnode:PTR TO ln
  8.     DEF prednode:PTR TO ln
  9.     DEF ret
  10.     upnode:=p_GetAdrNode(list,numnode)
  11.     IF numnode=0 THEN RETURN 0
  12.     prednode:=upnode.pred
  13.     IF ((upnode) AND (prednode))
  14.         prednode:=prednode.pred
  15.         Remove(upnode)
  16.         Insert(list,upnode,prednode)
  17.         ret:=numnode-1
  18.         ENDIF
  19.     IF ret=0
  20.         upnode:=p_GetAdrNode(list,0)
  21.         upnode.pred:=0
  22.     ENDIF
  23.     RETURN ret
  24. ENDPROC
  25.  
  26.