blob: 5f3df657bb2afd6f7b55f3af424829b32f48c486 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
|
package shell
import "io"
import "os/exec"
import "bufio"
import "bytes"
import "github.com/svent/go-nbreader"
var FileMap map[string]*File
var readBufferSize int
/*
type File struct {
Name string
BufferSize int
Buffer *bytes.Buffer
Fbytes []byte
TotalCount int
Empty bool
Dead bool
Fio io.ReadCloser // := process.StdoutPipe()
Fbufio *bufio.Reader // := bufio.NewReader(pOUT)
Fnbreader *nbreader.NBReader // := nbreader.NewNBReader(readOUT, 1024)
}
*/
type File struct {
Name string
// BufferSize int
// Buffer *bytes.Buffer
// Fbytes []byte
TotalCount int
Empty bool
Dead bool
Fio io.ReadCloser // := process.StdoutPipe()
Fbufio *bufio.Reader // := bufio.NewReader(pOUT)
Fnbreader *nbreader.NBReader // := nbreader.NewNBReader(readOUT, 1024)
}
type Shell struct {
Cmdline string
Process *exec.Cmd
Done bool
Quiet bool
Error error
Buffer *bytes.Buffer
// which names are really better here?
// for now I init them both to test out
// how the code looks and feels
STDOUT *File
STDERR *File
Stdout *File
Stderr *File
}
func New() *Shell {
var tmp Shell
return &tmp
}
/*
func FileCreate(f io.ReadCloser) *File {
var newfile File
newfile.Fio = f
newfile.Fbufio = bufio.NewReader(f)
newfile.Fnbreader = nbreader.NewNBReader(newfile.Fbufio, 1024)
return &newfile
}
*/
|