knight/shared/KeCommon.cpp
author Peace-Maker <januk@freenet.de>
Sat May 10 05:42:33 2014 -0700 (2014-05-10)
changeset 4354 7011587e0021
parent 2226 d10b38524be3
permissions -rw-r--r--
Remove LogMessageEx definition from logging.inc (bug 5897, r=kyles).
dvander@2226
     1
#include <stdio.h>
dvander@2226
     2
#include "KeCommon.h"
dvander@2226
     3
dvander@2226
     4
using namespace Knight;
dvander@2226
     5
dvander@2226
     6
size_t Knight::KE_PFormat(char *buffer, size_t maxlength, const char *fmt, ...)
dvander@2226
     7
{
dvander@2226
     8
	size_t len;
dvander@2226
     9
dvander@2226
    10
	va_list ap;
dvander@2226
    11
	va_start(ap, fmt);
dvander@2226
    12
	len = KE_PFormatArgs(buffer, maxlength, fmt, ap);
dvander@2226
    13
	va_end(ap);
dvander@2226
    14
dvander@2226
    15
	return len;
dvander@2226
    16
}
dvander@2226
    17
dvander@2226
    18
size_t Knight::KE_PFormatArgs(char *buffer, size_t maxlength, const char *fmt, va_list ap)
dvander@2226
    19
{
dvander@2226
    20
	size_t len;
dvander@2226
    21
	
dvander@2226
    22
	len = vsnprintf(buffer, maxlength, fmt, ap);
dvander@2226
    23
dvander@2226
    24
	if (len >= maxlength)
dvander@2226
    25
	{
dvander@2226
    26
		buffer[maxlength - 1] = '\0';
dvander@2226
    27
		return (maxlength - 1);
dvander@2226
    28
	}
dvander@2226
    29
	else
dvander@2226
    30
	{
dvander@2226
    31
		return len;
dvander@2226
    32
	}
dvander@2226
    33
}