brintos

brintos / linux-shallow public Read only

0
0
Text · 900 B · 8780b4c Raw
45 lines · c
1// SPDX-License-Identifier: GPL-2.02#include <sys/types.h>3#include <linux/kernel.h>4#include <stdio.h>5 6int vscnprintf(char *buf, size_t size, const char *fmt, va_list args)7{8       int i = vsnprintf(buf, size, fmt, args);9       ssize_t ssize = size;10 11       return (i >= ssize) ? (ssize - 1) : i;12}13 14int scnprintf(char * buf, size_t size, const char * fmt, ...)15{16       ssize_t ssize = size;17       va_list args;18       int i;19 20       va_start(args, fmt);21       i = vsnprintf(buf, size, fmt, args);22       va_end(args);23 24       return (i >= ssize) ? (ssize - 1) : i;25}26 27int scnprintf_pad(char * buf, size_t size, const char * fmt, ...)28{29	ssize_t ssize = size;30	va_list args;31	int i;32 33	va_start(args, fmt);34	i = vscnprintf(buf, size, fmt, args);35	va_end(args);36 37	if (i < (int) size) {38		for (; i < (int) size; i++)39			buf[i] = ' ';40		buf[i] = 0x0;41	}42 43	return (i >= ssize) ? (ssize - 1) : i;44}45