mirror of https://gitee.com/openkylin/genmai.git
!51 完成InterIO.go:RecvUntil函数
Merge pull request !51 from a-alpha/alpha-dev
This commit is contained in:
commit
e7cf7aed5a
|
@ -30,6 +30,7 @@ package Interpreter
|
|||
|
||||
import (
|
||||
"bufio"
|
||||
"bytes"
|
||||
)
|
||||
|
||||
////////////////////////////////////////////////////////////////
|
||||
|
@ -56,6 +57,26 @@ func (iio InterIO) Sendline(str string) (rc error) {
|
|||
}
|
||||
|
||||
func (iio InterIO) RecvUntil(delim_s string) (ret string, rc error) {
|
||||
output := ""
|
||||
/* */
|
||||
for {
|
||||
recv, err := iio.reader.ReadBytes(delim_s[len(delim_s) - 1])
|
||||
/* */
|
||||
if (nil != err) {
|
||||
return "", err
|
||||
} // if ( ...
|
||||
|
||||
output += string(recv)
|
||||
|
||||
if ( ( len(recv) >= len(delim_s) ) &&
|
||||
( bytes.Equal(recv[len(recv) - len(delim_s):], []byte(delim_s)) ) ) {
|
||||
break
|
||||
}
|
||||
} // for { ...
|
||||
|
||||
ret = output
|
||||
rc = nil
|
||||
/* */
|
||||
return ret, rc
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in New Issue