X-Git-Url: https://git.jsancho.org/?a=blobdiff_plain;f=Source%2Fpack.c;h=e410ab438f9fe3c42538f2dfa894d810801c4977;hb=44146d06c780d3aaa283672fedb08b8870ebe1b9;hp=14fc023044442e044a865a50986be07aa5e9c862;hpb=0cca0c495c7dc29d134a10d7eed5de1f377c99bf;p=lugaru.git diff --git a/Source/pack.c b/Source/pack.c index 14fc023..e410ab4 100644 --- a/Source/pack.c +++ b/Source/pack.c @@ -1,3 +1,24 @@ +/* +Copyright (C) 2003, 2010 - Wolfire Games + +This file is part of Lugaru. + +Lugaru is free software; you can redistribute it and/or +modify it under the terms of the GNU General Public License +as published by the Free Software Foundation; either version 2 +of the License, or (at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +See the GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program; if not, write to the Free Software +Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. +*/ + #include #include "binio.h" @@ -36,9 +57,11 @@ extern void vspackf(void *buffer, const char *format, va_list args) BinIOInitFormatCursor(&cursor, format); context.buffer = (unsigned char *)buffer; - context.args = args; - + va_copy(context.args, args); + while (BinIONextChar(&context, &cursor, BinIOPack)) {} + + va_end(context.args); } extern void vfpackf(FILE *file, const char *format, va_list args)