44 lines · 900 B · C
RawDownload
// SPDX-License-Identifier: GPL-2.0#include <sys/types.h>#include <linux/kernel.h>#include <stdio.h> int vscnprintf(char *buf, size_t size, const char *fmt, va_list args){       int i = vsnprintf(buf, size, fmt, args);       ssize_t ssize = size;        return (i >= ssize) ? (ssize - 1) : i;} int scnprintf(char * buf, size_t size, const char * fmt, ...){       ssize_t ssize = size;       va_list args;       int i;        va_start(args, fmt);       i = vsnprintf(buf, size, fmt, args);       va_end(args);        return (i >= ssize) ? (ssize - 1) : i;} int scnprintf_pad(char * buf, size_t size, const char * fmt, ...){	ssize_t ssize = size;	va_list args;	int i; 	va_start(args, fmt);	i = vscnprintf(buf, size, fmt, args);	va_end(args); 	if (i < (int) size) {		for (; i < (int) size; i++)			buf[i] = ' ';		buf[i] = 0x0;	} 	return (i >= ssize) ? (ssize - 1) : i;}