]> Cypherpunks repositories - gostls13.git/commitdiff
encoding/csv: rename ParseError.RecordLine to .StartLine
authorRuss Cox <rsc@golang.org>
Tue, 14 Nov 2017 18:23:10 +0000 (13:23 -0500)
committerRuss Cox <rsc@golang.org>
Wed, 15 Nov 2017 21:26:52 +0000 (21:26 +0000)
A record can span multiple lines (the whole reason for the extra field),
so the important fact is that it's the _start_ of the record.
Make that clear in the name.

(This API was added during the Go 1.10 cycle so it can still be cleaned up.)

Change-Id: Id95b3ceb7cdfc4aa0ed5a053cb84da8945fa5496
Reviewed-on: https://go-review.googlesource.com/78119
Run-TryBot: Russ Cox <rsc@golang.org>
Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
Reviewed-by: Joe Tsai <thebrokentoaster@gmail.com>
src/encoding/csv/reader.go
src/encoding/csv/reader_test.go

index 031ee6cedb0e1399e4b1a7f89930d9f616c81be3..09f0dac5d0880bd2efab6b642393ef8e5687b611 100644 (file)
@@ -64,18 +64,18 @@ import (
 // A ParseError is returned for parsing errors.
 // Line numbers are 1-indexed and columns are 0-indexed.
 type ParseError struct {
-       RecordLine int   // Line where the record starts
-       Line       int   // Line where the error occurred
-       Column     int   // Column (rune index) where the error occurred
-       Err        error // The actual error
+       StartLine int   // Line where the record starts
+       Line      int   // Line where the error occurred
+       Column    int   // Column (rune index) where the error occurred
+       Err       error // The actual error
 }
 
 func (e *ParseError) Error() string {
        if e.Err == ErrFieldCount {
                return fmt.Sprintf("record on line %d: %v", e.Line, e.Err)
        }
-       if e.RecordLine != e.Line {
-               return fmt.Sprintf("record on line %d; parse error on line %d, column %d: %v", e.RecordLine, e.Line, e.Column, e.Err)
+       if e.StartLine != e.Line {
+               return fmt.Sprintf("record on line %d; parse error on line %d, column %d: %v", e.StartLine, e.Line, e.Column, e.Err)
        }
        return fmt.Sprintf("parse error on line %d, column %d: %v", e.Line, e.Column, e.Err)
 }
@@ -287,7 +287,7 @@ parseField:
                        if !r.LazyQuotes {
                                if j := bytes.IndexByte(field, '"'); j >= 0 {
                                        col := utf8.RuneCount(fullLine[:len(fullLine)-len(line[j:])])
-                                       err = &ParseError{RecordLine: recLine, Line: r.numLine, Column: col, Err: ErrBareQuote}
+                                       err = &ParseError{StartLine: recLine, Line: r.numLine, Column: col, Err: ErrBareQuote}
                                        break parseField
                                }
                        }
@@ -327,7 +327,7 @@ parseField:
                                        default:
                                                // `"*` sequence (invalid non-escaped quote).
                                                col := utf8.RuneCount(fullLine[:len(fullLine)-len(line)-quoteLen])
-                                               err = &ParseError{RecordLine: recLine, Line: r.numLine, Column: col, Err: ErrQuote}
+                                               err = &ParseError{StartLine: recLine, Line: r.numLine, Column: col, Err: ErrQuote}
                                                break parseField
                                        }
                                } else if len(line) > 0 {
@@ -345,7 +345,7 @@ parseField:
                                        // Abrupt end of file (EOF or error).
                                        if !r.LazyQuotes && errRead == nil {
                                                col := utf8.RuneCount(fullLine)
-                                               err = &ParseError{RecordLine: recLine, Line: r.numLine, Column: col, Err: ErrQuote}
+                                               err = &ParseError{StartLine: recLine, Line: r.numLine, Column: col, Err: ErrQuote}
                                                break parseField
                                        }
                                        r.fieldIndexes = append(r.fieldIndexes, len(r.recordBuffer))
@@ -375,7 +375,7 @@ parseField:
        // Check or update the expected fields per record.
        if r.FieldsPerRecord > 0 {
                if len(dst) != r.FieldsPerRecord && err == nil {
-                       err = &ParseError{RecordLine: recLine, Line: recLine, Err: ErrFieldCount}
+                       err = &ParseError{StartLine: recLine, Line: recLine, Err: ErrFieldCount}
                }
        } else if r.FieldsPerRecord == 0 {
                r.FieldsPerRecord = len(dst)
index 48efbb67191548793edbcf5bbf1ed5bf65cafa46..69e2e2becd7a3eee36eed77dc82f1e94014e9026 100644 (file)
@@ -123,7 +123,7 @@ field"`,
        }, {
                Name:  "BadDoubleQuotes",
                Input: `a""b,c`,
-               Error: &ParseError{RecordLine: 1, Line: 1, Column: 1, Err: ErrBareQuote},
+               Error: &ParseError{StartLine: 1, Line: 1, Column: 1, Err: ErrBareQuote},
        }, {
                Name:             "TrimQuote",
                Input:            ` "a"," b",c`,
@@ -132,25 +132,25 @@ field"`,
        }, {
                Name:  "BadBareQuote",
                Input: `a "word","b"`,
-               Error: &ParseError{RecordLine: 1, Line: 1, Column: 2, Err: ErrBareQuote},
+               Error: &ParseError{StartLine: 1, Line: 1, Column: 2, Err: ErrBareQuote},
        }, {
                Name:  "BadTrailingQuote",
                Input: `"a word",b"`,
-               Error: &ParseError{RecordLine: 1, Line: 1, Column: 10, Err: ErrBareQuote},
+               Error: &ParseError{StartLine: 1, Line: 1, Column: 10, Err: ErrBareQuote},
        }, {
                Name:  "ExtraneousQuote",
                Input: `"a "word","b"`,
-               Error: &ParseError{RecordLine: 1, Line: 1, Column: 3, Err: ErrQuote},
+               Error: &ParseError{StartLine: 1, Line: 1, Column: 3, Err: ErrQuote},
        }, {
                Name:               "BadFieldCount",
                Input:              "a,b,c\nd,e",
-               Error:              &ParseError{RecordLine: 2, Line: 2, Err: ErrFieldCount},
+               Error:              &ParseError{StartLine: 2, Line: 2, Err: ErrFieldCount},
                UseFieldsPerRecord: true,
                FieldsPerRecord:    0,
        }, {
                Name:               "BadFieldCount1",
                Input:              `a,b,c`,
-               Error:              &ParseError{RecordLine: 1, Line: 1, Err: ErrFieldCount},
+               Error:              &ParseError{StartLine: 1, Line: 1, Err: ErrFieldCount},
                UseFieldsPerRecord: true,
                FieldsPerRecord:    2,
        }, {
@@ -226,13 +226,13 @@ x,,,
                },
                ReuseRecord: true,
        }, {
-               Name:  "RecordLine1", // Issue 19019
+               Name:  "StartLine1", // Issue 19019
                Input: "a,\"b\nc\"d,e",
-               Error: &ParseError{RecordLine: 1, Line: 2, Column: 1, Err: ErrQuote},
+               Error: &ParseError{StartLine: 1, Line: 2, Column: 1, Err: ErrQuote},
        }, {
-               Name:  "RecordLine2",
+               Name:  "StartLine2",
                Input: "a,b\n\"d\n\n,e",
-               Error: &ParseError{RecordLine: 2, Line: 5, Column: 0, Err: ErrQuote},
+               Error: &ParseError{StartLine: 2, Line: 5, Column: 0, Err: ErrQuote},
        }, {
                Name:  "CRLFInQuotedField", // Issue 21201
                Input: "\"Hello\r\nHi\"",
@@ -290,7 +290,7 @@ x,,,
        }, {
                Name:  "QuoteWithTrailingCRLF",
                Input: "\"foo\"bar\"\r\n",
-               Error: &ParseError{RecordLine: 1, Line: 1, Column: 4, Err: ErrQuote},
+               Error: &ParseError{StartLine: 1, Line: 1, Column: 4, Err: ErrQuote},
        }, {
                Name:       "LazyQuoteWithTrailingCRLF",
                Input:      "\"foo\"bar\"\r\n",
@@ -307,7 +307,7 @@ x,,,
        }, {
                Name:  "OddQuotes",
                Input: `"""""""`,
-               Error: &ParseError{RecordLine: 1, Line: 1, Column: 7, Err: ErrQuote},
+               Error: &ParseError{StartLine: 1, Line: 1, Column: 7, Err: ErrQuote},
        }, {
                Name:       "LazyOddQuotes",
                Input:      `"""""""`,