In the given sentence, the phrase ‘by dinnertime’ must be replaced with ‘till dinnertime’ as the preposition ’till’ is used to talk about something that will keep going on going for a duration of time from a specific time to another whereas ‘by’ to talk about a deadline when something will happen before that time. Thus, option (b) is correct.