diff options
author | Gibheer <gibheer+git@zero-knowledge.org> | 2018-12-13 16:20:42 +0100 |
---|---|---|
committer | Gibheer <gibheer+git@zero-knowledge.org> | 2018-12-13 16:20:42 +0100 |
commit | ff79584084436b74151e7549f70ee8f0a1d3aebe (patch) | |
tree | 693c0e05007f14fba98173f63c62fe7b3bdad111 /cmd/monwork/main.go | |
parent | 82e582f0222b028cf45894e1f94e261bc3a6370b (diff) |
monwork - bytes.Fields works well enough
This function existed to group fields together, but it had an issue and
grouped them wrongly. This caused issues later in the check stage.
Diffstat (limited to 'cmd/monwork/main.go')
-rw-r--r-- | cmd/monwork/main.go | 31 |
1 files changed, 1 insertions, 30 deletions
diff --git a/cmd/monwork/main.go b/cmd/monwork/main.go index 782baf7..d3b852a 100644 --- a/cmd/monwork/main.go +++ b/cmd/monwork/main.go @@ -167,7 +167,7 @@ func startConfigGen(db *sql.DB, checkInterval time.Duration) { time.Sleep(checkInterval) continue } - if _, err := tx.Exec(SQLRefreshActiveCheck, check_id, pq.Array(stringToShellFields(cmd.Bytes()))); err != nil { + if _, err := tx.Exec(SQLRefreshActiveCheck, check_id, pq.Array(bytes.Fields(cmd.Bytes()))); err != nil { tx.Rollback() log.Printf("could not refresh check '%d': %s", check_id, err) continue @@ -184,35 +184,6 @@ func startConfigGen(db *sql.DB, checkInterval time.Duration) { } } -func stringToShellFields(in []byte) [][]byte { - if len(in) == 0 { - return [][]byte{} - } - fields := bytes.Fields(in) - result := [][]byte{fields[0]} - - var quote byte - - for _, field := range fields[1:] { - if quote == 0 && (field[0] != '\'' && field[0] != '"') { - result = append(result, field) - continue - } - if quote == 0 && (field[0] == '\'' || field[0] == '"') { - quote = field[0] - result = append(result, field) - continue - } - idx := len(result) - 1 - result[idx] = append(result[idx], append([]byte(" "), field...)...) - if quote != 0 && (bytes.HasSuffix(field, []byte{quote})) { - quote = 0 - continue - } - } - return result -} - var ( SQLGetConfigUpdates = `select c.id, co.command, c.options from checks c |