61 lines · 1.3 KB · C
RawDownload
/* LibTomCrypt, modular cryptographic library -- Tom St Denis * * LibTomCrypt is a library that provides various cryptographic * algorithms in a highly modular and flexible manner. * * The library is free for all purposes without any express * guarantee it works. * * Tom St Denis, tomstdenis@gmail.com, http://libtom.org */#include "tomcrypt.h" #ifdef MPI#include <stdarg.h> int ltc_init_multi(void **a, ...){   void    **cur = a;   int       np  = 0;   va_list   args;    va_start(args, a);   while (cur != NULL) {       if (mp_init(cur) != CRYPT_OK) {          /* failed */          va_list clean_list;           va_start(clean_list, a);          cur = a;          while (np--) {              mp_clear(*cur);              cur = va_arg(clean_list, void**);          }          va_end(clean_list);          return CRYPT_MEM;       }       ++np;       cur = va_arg(args, void**);   }   va_end(args);   return CRYPT_OK;   } void ltc_deinit_multi(void *a, ...){   void     *cur = a;   va_list   args;    va_start(args, a);   while (cur != NULL) {       mp_clear(cur);       cur = va_arg(args, void *);   }   va_end(args);} #endif /* $Source: /cvs/libtom/libtomcrypt/src/math/multi.c,v $ *//* $Revision: 1.6 $ *//* $Date: 2006/12/28 01:27:23 $ */