Sorry to hear how he is doing and about the weather.
Welll, as you would suspect, with the severity of symptoms and anythime there is visble swelling, I must recommend getting in to a ER vet. But, I understand if that is not possible.
Benadryl was wise to give and should be repeated. The dose is about 1mg per pound of body weight. So, if anywhere around 25 pounds, I would give a full tablet of 25mg benadryl and repeat every 6-8 hours.
To help settle the stomach you can use of the following, but not as a replacement for veterinary examination include
1.Pepcid A.C. (famotidine) comes in 10mg, 20mg, or 40mg tablets.
You can give it every 12 hours. You can give 0.5mg per pound of body weight. So, a 20 pound dog would get 10mg.
2.Prilosec (omeprazole). It comes in 10mg or 20mg tablets.
You can give in every 24 hours. You give 0.5mg per pound of body weight. So, a 20 pound dog would get 10mg
3.Zantac (Ranitidne). It comes in 75mg, 150mg, or 300mg sizes.
You can give it every 8 to 12 hours. You give 0.25 to 1mg per pound of body weight. So, a 20 pound dog would get roughly 1/3 tablet of the 75mg. Even with bigger pets, it is easiest to get the smallest size tablet. Even a 75 pound dog would only need one 75mg tablet.
4.Pepto-Bismol or Kaopectate
You can give it every 8 hours. The average dose is 1ml per pound of body weight, and that is the TOTAL dose for the day.So, if a pet weighs 30 pounds, they would get a total of 30ml a day or 10ml every 8 hours. This is dosing for regular strength Pepto-Bismol. If you use maximum strength liquid, give half as much.
Wish I could do more, but not sure if this is all due to some allergic reaction including the vomiting, or if there is a more serious issue.
So, giving an antaicd may help the stomach, and definitely give more benadryl.