aboutsummaryrefslogtreecommitdiff
path: root/cmd
diff options
context:
space:
mode:
authorGibheer <gibheer+git@zero-knowledge.org>2018-12-13 16:20:42 +0100
committerGibheer <gibheer+git@zero-knowledge.org>2018-12-13 16:20:42 +0100
commitff79584084436b74151e7549f70ee8f0a1d3aebe (patch)
tree693c0e05007f14fba98173f63c62fe7b3bdad111 /cmd
parent82e582f0222b028cf45894e1f94e261bc3a6370b (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')
-rw-r--r--cmd/monwork/main.go31
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