MCPcopy Create free account
hub / github.com/dim-an/cod / parseAsciiString

Method parseAsciiString

shells/tokenize.go:280–305  ·  view source on GitHub ↗
(end byte)

Source from the content-addressed store, hash-verified

278}
279
280func (t *tokenizer) parseAsciiString(end byte) (err error) {
281 if end == '\\' {
282 panic(fmt.Errorf("`\\` cannot be the end of ascii string"))
283 }
284 var c byte
285 for {
286 c, err = t.reader.ReadByte()
287 switch {
288 case err != nil:
289 if err == io.EOF {
290 t.broken = true
291 t.emitWord()
292 }
293 return
294 case c == end:
295 return
296 case c == '\\':
297 err = t.parseAsciiChar()
298 if err != nil {
299 return
300 }
301 default:
302 t.builder.WriteByte(c)
303 }
304 }
305}
306
307func (t *tokenizer) parseAsciiChar() (err error) {
308 b, err := t.reader.ReadByte()

Callers 1

tokenizeMethod · 0.95

Calls 3

emitWordMethod · 0.95
parseAsciiCharMethod · 0.95
ReadByteMethod · 0.80

Tested by

no test coverage detected