Merge pull request #212 from velour/limits

fuck: stop he-who-must-not-be-named's antics
This commit is contained in:
Chris Sexton 2019-10-20 10:43:35 -04:00 committed by GitHub
commit c83e116cca
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
1 changed files with 9 additions and 1 deletions

View File

@ -58,8 +58,16 @@ func (p *Fuck) message(c bot.Connector, kind bot.Kind, message msg.Message, args
m := gofuck.New(stdin, stdout) m := gofuck.New(stdin, stdout)
m.InstructionLimit = p.c.GetInt("fuck.limit.instr", 100000) m.InstructionLimit = p.c.GetInt("fuck.limit.instr", 100000)
if m.InstructionLimit < 1 {
m.InstructionLimit = 1
}
maxOut := p.c.GetInt("fuck.limit.output", 1000)
if err := m.Run([]byte(pgm)); err != nil { err := m.Run([]byte(pgm))
if stdout.Len() > maxOut {
stdout.Truncate(maxOut)
}
if err != nil {
p.b.Send(c, bot.Message, message.Channel, fmt.Sprintf("Error running program: %s", err)) p.b.Send(c, bot.Message, message.Channel, fmt.Sprintf("Error running program: %s", err))
if stdout.Len() > 0 { if stdout.Len() > 0 {
p.b.Send(c, bot.Message, message.Channel, p.b.Send(c, bot.Message, message.Channel,