Module String = Begin Require 'bliss.req'; ! save a string literal Global Routine SAVESTRING(S : Ref Vector[,Byte],N : Integer) = Begin Local P : Ref GT; P = GETSPACE(SZ_STRING(.N)); P[tx_type] = T_STRING; P[tx_size] = .N; ch$move(.N,.S,P[tx_data]); Return .P End; ! release a string Global Routine FREESTRING(S : Ref GT) : Novalue = Begin RELEASESPACE(.S,SZ_STRING(.S[tx_size])) End; Global Routine DupString(S : Ref GT) = Begin Return DupSpace(.S,SZ_STRING(.S[tx_size])) End; End Eludom