snprintf is included, as are most of the STDIO functions (if you find that something is missing, let us know...)
Source code comes from newlib:
https://github.com/espressif/newlib-esp32
It's not included within the ESP-IDF repo for two reasons:
- compiling newlib as a component is fairly complex (if you want to achieve zero rebuild behavior on subsequent builds), and newlib build is fairly noisy.
- newlib happens to use certain functions which are embedded into the ESP32 ROM (parts of stdio have been placed into ROM to save space in applications). Therefore arbitrary modifications to newlib source code will not necessarily work (changing some newlib config values will not cause ROM parts of newlib to be updated...).
Newlib source code may be useful while debugging. If this is the case, you can clone the newlib repository mentioned above and add it to your gdb sources path.