2016 Dec 25 03:15:00:

SuperBASIC/SBASIC Function GETLINE$(chan): REMark the '#' for SB-Channel is optiona

Usage

a$ = GETLINE$([#ch[,]][bufsize[,LF])
#ch:     S*BASIC channel no, default #1
bufsize: integer -32768 to 32767, minimum bufsize will be adjusted to
         130 and maximum bufsize to 32766. Default bufsize is 258
LF:      0 or omitted: trailing newline (LF) is stripped any other value
         (-32768 to 32767) doesn NOT strip the trailing newline character.
If after the call to GETLINE$() the channel is at EOF and the last char
read was a newline (LF), then it will always be returned. Else the user has
no chance to detect, if the last char was a newline (LF).

WARNING: If the channel is already at EOF() before calling this SB-function,
this function will result in an SuperBASIC error "End of file"!

So a functional usage should be:

LRESPR'getline_bin':REMark Initialize the GETLINE$() function for S*BASIC
then you should use it (e.g. for copying a file) with:
100 OPEN_IN#4,'RAM1_test'
110 OPEN_OVER#5,'RAM1_testBak'
120 IF NOT EOF(#4)
130   REPeat loop
140     a$=GETLINE$(#4,32766)
150     IF EOF(#4)
160       PRINT#5,a$;:EXIT loop
170     ELSE
180       PRINT#5,a$
190     END IF
200   END REPeat loop
210 END IF
220 CLOSE#4:CLOSE#5

Note: To be compatible with eventually future versions you should not use
values lower than 130 and greater than 32766 for the bufsize parameter and
the LF parameter (if specified) should be 0 (strip LF) or 1 (do not strip LF)
