knight/shared/KeCommon.cpp
author Dr!fter
Thu Jul 18 20:34:11 2013 -0400 (2013-07-18)
changeset 3954 f98bbd1892df
parent 2226 d10b38524be3
permissions -rw-r--r--
Add signature offset byte check support for gdc-psyfork (NPOTB).
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
}