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