vsprintf.c 539 B

12345678910111213141516171819202122232425
  1. #include <sys/types.h>
  2. #include <linux/kernel.h>
  3. #include <stdio.h>
  4. int vscnprintf(char *buf, size_t size, const char *fmt, va_list args)
  5. {
  6. int i = vsnprintf(buf, size, fmt, args);
  7. ssize_t ssize = size;
  8. return (i >= ssize) ? (ssize - 1) : i;
  9. }
  10. int scnprintf(char * buf, size_t size, const char * fmt, ...)
  11. {
  12. ssize_t ssize = size;
  13. va_list args;
  14. int i;
  15. va_start(args, fmt);
  16. i = vsnprintf(buf, size, fmt, args);
  17. va_end(args);
  18. return (i >= ssize) ? (ssize - 1) : i;
  19. }