Quote Originally Posted by laserlight View Post
If you want to use "earthquake zone" as an analogy for "user input", then earthquake zones are almost everywhere. The only places where there is no earthquake zone is when you can guarantee that the input will not result in buffer overflow, but in practice that means that you are only programming for yourself or for some very special scenario, e.g., a programming contest for which test input is guaranteed to be correct.

The core problem is that gets cannot be rendered safe. You can only assume that the input will not result in buffer overflow, and this is almost always a bad assumption. Hence, the good practice is to avoid gets. Use it at your own peril, and you will be slammed for suggesting it to others here.
I am not suggesting it to others, I just do not make pointless work for myself just for the sake of it.
If I am just doing some small test program for my self I do not treat it is as if I was working on a major defence project.
the idea that I should get into the practice of doing that just in case I ever do seem pretty ridiculous to me.
I am capable of thinking for myself.