| author | David Anderson <dvander@alliedmods.net> |
| Tue Sep 23 21:20:40 2008 -0700 (2008-09-23) | |
| changeset 2320 | 88550c031d23 |
| child 2325 | 7a24ee5557fb |
| permissions | -rw-r--r-- |
| dvander@2320 | 1 |
#include <stdio.h> |
| dvander@2320 | 2 |
#include "platform_util.h" |
| dvander@2320 | 3 |
|
| dvander@2320 | 4 |
size_t Sp_Format(char *buffer, size_t maxlength, const char *fmt, ...) |
| dvander@2320 | 5 |
{ |
| dvander@2320 | 6 |
size_t len; |
| dvander@2320 | 7 |
|
| dvander@2320 | 8 |
va_list ap; |
| dvander@2320 | 9 |
va_start(ap, fmt); |
| dvander@2320 | 10 |
len = Sp_FormatArgs(buffer, maxlength, fmt, ap); |
| dvander@2320 | 11 |
va_end(ap); |
| dvander@2320 | 12 |
|
| dvander@2320 | 13 |
return len; |
| dvander@2320 | 14 |
} |
| dvander@2320 | 15 |
|
| dvander@2320 | 16 |
size_t Sp_FormatArgs(char *buffer, size_t maxlength, const char *fmt, va_list ap) |
| dvander@2320 | 17 |
{ |
| dvander@2320 | 18 |
size_t len; |
| dvander@2320 | 19 |
|
| dvander@2320 | 20 |
len = vsnprintf(buffer, maxlength, fmt, ap); |
| dvander@2320 | 21 |
|
| dvander@2320 | 22 |
if (len >= maxlength) |
| dvander@2320 | 23 |
{ |
| dvander@2320 | 24 |
buffer[maxlength - 1] = '\0'; |
| dvander@2320 | 25 |
return (maxlength - 1); |
| dvander@2320 | 26 |
} |
| dvander@2320 | 27 |
else |
| dvander@2320 | 28 |
{ |
| dvander@2320 | 29 |
return len; |
| dvander@2320 | 30 |
} |
| dvander@2320 | 31 |
} |
| dvander@2320 | 32 |