                     case "\\":
                         if i + 1 == validBufferBytes {
                             assert(input.hasBytesAvailable)
-                            try fetchNewData(buf: &buf, lineStart: lineStart)
+                            try fetchNewData(lineStart: lineStart)
                             offset = 0
                             return try parseRow(
-                                buf: &buf,
                                 offset: &offset,
                                 cellArray: &cellArray,
                                 row: row)
                         }
-                        let next = Unicode.Scalar(buf[i + 1])
+                        let next = Unicode.Scalar(buffer[i + 1])
                         cellValue.append(Character(next))
                         i += 2
                     default:

    /// the buffer.
    @usableFromInline
    func fetchNewData(
        buf: inout UnsafeMutableBufferPointer<UInt8>,
        lineStart: Int
    ) throws {
        assert(
            validBufferBytes == buf.count,
            "buf.count: \(buf.count), validBufferBytes: \(validBufferBytes)"
        )
        let moveCount = buf.count - lineStart
        bufferStartOffset += buf.count - moveCount
        memmove(buf.baseAddress!, buf.baseAddress! + lineStart, moveCount)
        let readCount = input.read(
            buf.baseAddress! + moveCount,
            maxLength: buf.count - moveCount)
        validBufferBytes = readCount + moveCount
    }


                    throw CSVProcessorErrors.rowTooLarge(row: row)
                }
                // Extend the array.
                try fetchNewData(lineStart: lineStart)
                offset = 0
                return try parseRow(
                    offset: &offset,
                    cellArray: &cellArray,
                    row: row)
            default:
                // Un-quoted cell parsing.
                cellLoop: for i in (offset+1)..<validBufferBytes {
                    let value = Unicode.Scalar(buffer[i])
                    switch value {
                    case metadata.separator:
                        let cellBuffer = UnsafeBufferPointer<UInt8>(
                            start: buffer.baseAddress! + cellStart,
                            count: i - cellStart)
                        cellArray.append(.raw(cellBuffer))
                        offset = i + 1
