diff --git a/main-runner.go b/main-runner.go index fb7cd6e67..64a54abd1 100644 --- a/main-runner.go +++ b/main-runner.go @@ -189,9 +189,22 @@ func doMain() { if err != nil { errPk := packet.MakeErrorPacket(err.Error()) sender.SendPacket(errPk) + continue } continue } + if pk.GetType() == packet.CdPacketStr { + cdPacket := pk.(*packet.CdPacketType) + err := os.Chdir(cdPacket.Dir) + resp := packet.MakeResponsePacket(cdPacket.PacketId) + if err != nil { + resp.Error = err.Error() + } else { + resp.Success = true + } + sender.SendPacket(resp) + continue + } if pk.GetType() == packet.ErrorPacketStr { errPk := pk.(*packet.ErrorPacketType) errPk.Error = "invalid packet sent to runner: " + errPk.Error