< Rebol Programming
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
]
]
This article is issued from Wikibooks. The text is licensed under Creative Commons - Attribution - Sharealike. Additional terms may apply for the media files.