diff options
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 |