X-Git-Url: https://adrianiainlam.tk/git/?a=blobdiff_plain;f=dygraph-utils.js;h=04d2ae37184ac3d08d186a4fd6e789d6f00f4381;hb=e03d443c0a280d8303fc608c917ad2563ca154f1;hp=200617c22dbe6d6e51b914ff63e8c910059b3946;hpb=e5763589f0c999fd3a1747f39de770c0b1f18d15;p=dygraphs.git diff --git a/dygraph-utils.js b/dygraph-utils.js index 200617c..04d2ae3 100644 --- a/dygraph-utils.js +++ b/dygraph-utils.js @@ -1082,17 +1082,25 @@ Dygraph.IFrameTarp.prototype.uncover = function() { }; /** - * Determine whether |data| is delimited by CR, LF or CRLF. + * Determine whether |data| is delimited by CR, CRLF, LF, LFCR. * @param {string} data * @return {string|null} the delimiter that was detected. */ Dygraph.detectLineDelimiter = function(data) { for (var i = 0; i < data.length; i++) { - var code = data[i]; - if (code == '\r') return code; - if (code == '\n') { + var code = data.charAt(i); + if (code === '\r') { + // Might actually be "\r\n". + if (((i + 1) < data.length) && (data.charAt(i + 1) === '\n')) { + return '\r\n'; + } + return code; + } + if (code === '\n') { // Might actually be "\n\r". - if (i < data.length && data[i + 1] == '\r') return '\n\r'; + if (((i + 1) < data.length) && (data.charAt(i + 1) === '\r')) { + return '\n\r'; + } return code; } }