

            lsallo (4) --- allocate space for a linked string        01/03/83


            _C_a_l_l_i_n_g _I_n_f_o_r_m_a_t_i_o_n

                 pointer function lsallo (ptr, len)
                 pointer ptr
                 integer len

                 Library:  vlslb


            _F_u_n_c_t_i_o_n

                 A   string  of  length  'len'  (not  counting  the  EOS)  is
                 allocated.  The pointer to the string is returned  in  'ptr'
                 and  as  the  function  value.   If  all  attempts  to  find
                 sufficient space fail, an error diagnostic ("Too many linked
                 strings") is issued and the program is aborted.


            _I_m_p_l_e_m_e_n_t_a_t_i_o_n

                 First, a test is made to see if there are  'len'  characters
                 available  between  the highest used location and the top of
                 the string space  to  allocate  the  string.   If  not,  the
                 available  space  list  is  followed to find space.  If both
                 fail, storage is reclaimed by calling 'lsfree' to deallocate
                 the available space  list,  decrementing  the  highest  open
                 pointer  to the first allocated location, and rebuilding the
                 available space  list.   If  a  second  search  then  fails,
                 'error'  is  called  to  print  the diagnostic and abort the
                 program.


            _A_r_g_u_m_e_n_t_s _M_o_d_i_f_i_e_d

                 ptr


            _C_a_l_l_s

                 error, lsdump, lsfree, remark


            _B_u_g_s

                 There is no way for the user to intercept  a  'string  space
                 full' condition.

                 If  not  enough  space  is available in either the available
                 space list or highest open list, but enough is available  in
                 both, an error is still signalled.

                 Locally supported.






            lsallo (4)                    - 1 -                    lsallo (4)




            lsallo (4) --- allocate space for a linked string        01/03/83


            _S_e_e _A_l_s_o

                 lsfree (4)























































            lsallo (4)                    - 2 -                    lsallo (4)


