tools/gamedata_md5/main.cpp
author Nicholas Hastings <skamonkey@gmail.com>
Mon Jun 14 09:32:50 2010 -0400 (2010-06-14)
changeset 3041 a0587dee87ae
parent 2230 e650c36ac67b
permissions -rw-r--r--
Fixed outputname null pointer crash in sdktools (bug 4422, r=fyren)
     1 #include "main.h"
     2 #include <stdarg.h>
     3 
     4 BuildMD5ableBuffer g_MD5Builder;
     5 
     6 int main(int argc, char **argv)
     7 {
     8 	SMCStates states;
     9 	SMCError error;
    10 
    11 	if (argc < 2)
    12 	{
    13 		fprintf(stderr, "Usage: <file>\n");
    14 		return -1;
    15 	}
    16 
    17 	error = g_TextParser.ParseFile_SMC(argv[1], &g_MD5Builder, &states);
    18 
    19 	if (error == SMCError_Okay)
    20 	{
    21 		printf("%s", g_MD5Builder.GetMD5String());
    22 		return 0;
    23 	}
    24 
    25 	fprintf(stderr, "Failed to parse file, Error %i at line %i and col %i\n", error, states.line, states.col);
    26 	return -1;
    27 }
    28 
    29 size_t UTIL_Format(char *buffer, size_t maxlength, const char *fmt, ...)
    30 {
    31 	va_list ap;
    32 	va_start(ap, fmt);
    33 	size_t len = vsnprintf(buffer, maxlength, fmt, ap);
    34 	va_end(ap);
    35 
    36 	if (len >= maxlength)
    37 	{
    38 		buffer[maxlength - 1] = '\0';
    39 		return (maxlength - 1);
    40 	}
    41 	else
    42 	{
    43 		return len;
    44 	}
    45 }