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