Browse Source

Merge 17dbac6453 into c9dd35bf48

pull/37/merge
Jeevanandam M 9 years ago
committed by GitHub
parent
commit
d19bc57c09
2 changed files with 5 additions and 1 deletions
  1. +0
    -1
      parser.go
  2. +5
    -0
      scanner.go

+ 0
- 1
parser.go View File

@ -246,7 +246,6 @@ func (parser *Parser) parseInclude() error {
continue continue
} }
reader, err := os.Open(filename) reader, err := os.Open(filename)
defer reader.Close()
if err != nil { if err != nil {
return err return err
} }


+ 5
- 0
scanner.go View File

@ -44,12 +44,14 @@ type Scanner struct {
curCh rune curCh rune
newline bool newline bool
reader *bufio.Reader reader *bufio.Reader
freader io.Reader
} }
// NewScanner creates and initializes a new *Scanner from an io.Readerx // NewScanner creates and initializes a new *Scanner from an io.Readerx
func NewScanner(reader io.Reader) *Scanner { func NewScanner(reader io.Reader) *Scanner {
scanner := &Scanner{ scanner := &Scanner{
reader: bufio.NewReader(reader), reader: bufio.NewReader(reader),
freader: reader,
curLine: 0, curLine: 0,
curCol: 0, curCol: 0,
newline: false, newline: false,
@ -207,6 +209,9 @@ func (scanner *Scanner) NextToken() token.Token {
case ch == eof: case ch == eof:
scanner.curTok.ID = token.EOF scanner.curTok.ID = token.EOF
scanner.curTok.Literal = "EOF" scanner.curTok.Literal = "EOF"
if f, ok := scanner.freader.(io.Closer); ok {
_ = f.Close()
}
default: default:
scanner.readRune() scanner.readRune()
scanner.curTok.Literal = string(ch) scanner.curTok.Literal = string(ch)


Loading…
Cancel
Save