NAME $1 - SYNOPSIS DESCRIPTION IMPLEMENTATION SEE ALSO ARGUMENTS MODIFIED CALLS BUGS free a block of dynamic storage subroutine dsfree (block) pointer block 'Dsfree' returns a block of storage allocated by 'dsget' to the available space list. The argument must be a pointer returned by 'dsget'. See the remarks under 'dsget' for required initialization measures. 'Dsfree' is an implementation of Algorithm B on page 440 of Volume 1 of The Art of Computer Programming, by Donald E. Knuth. The reader is referred to that source for detailed information. 'Dsfree' and 'dsget' maintain a list of free storage blocks, ordered by address. 'Dsfree' searches the list to find the proper location for the block being returned, and inserts the block into the list at that location. If blocks on either side of the newly-returned block are available, they are coalesced with the new block. If the block address does not correspond to the address of any allocated block, 'dsfree' remarks "attempt to free unallocated block" and waits for the user to type a letter "c" to continue. If any other character is typed, the program is terminated. The algorithm itself is not the best. dsget (2), dsinit (2), dsdump (2), dsdbiu (2)