Rebol Programming/enline

= USAGE: = ENLINE series /with end-of-line

= DESCRIPTION: = Converts standard string terminators to current OS format, e.g. LF to CRLF. (Modifies)

ENLINE is a function value. = ARGUMENTS =
 * series -- (Type: any-string block)

= REFINEMENTS =
 * /with -- Specifies alternate line termination.
 * end-of-line -- (Type: char string)

= SOURCE CODE = enline: func [ {Converts standard string terminators to current OS format, e.g. LF to CRLF. (Modifies)} series [any-string! block!] /with "Specifies alternate line termination." end-of-line [char! string!] /local platform-line len len-eol output a ][ platform-line: "^M^/" switch type?/word end-of-line [ none! [end-of-line: platform-line] char! [end-of-line: to-string end-of-line] ]    either block? series [ len: 0 len-eol: length? end-of-line foreach s series [len: len + len-eol + length? s]        output: make string! len foreach s series [insert insert tail output s end-of-line] also output set [series output] none ] [       unless end-of-line = "^/" [ parse/all/case either binary? series [as-string series] [series] [ any [to lf a: lf (a: change/part a end-of-line 1) :a] to end ]       ]         also series set [series a] none ] ]