Change supply_commod() and try_supply_commod() not to call s_commod() when zero units are wanted. This isn't just for efficiency, it's also for limiting exposure to supply bugs a bit.