aboutsummaryrefslogtreecommitdiff
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
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.
-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