(*) Caveat: It must be a small challenge involving a relatively simple task. I don't have a lot of time to waste on this.
Nice caveat. Let me rephrase that another way for you: it is difficult to implement complicated functionality in C. Indeed, this is one reason to use higher level languages. You can achieve more in less time.
The perversity of nature is nowhere better demonstrated by the fact that, when exposed to the same atmosphere, bread becomes hard while crackers become soft.