using snprintf_P in function

The pointer obviously only has a length of one, which is exactly the length of my output.

Wrong. The pointer has a size of 2.