69 lines
		
	
	
		
			1.7 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
			
		
		
	
	
			69 lines
		
	
	
		
			1.7 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
/* 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.
 | 
						|
 */
 | 
						|
 | 
						|
#include "common.h"
 | 
						|
 | 
						|
/**
 | 
						|
  @file common.c
 | 
						|
 | 
						|
  Steffen Jaeckel
 | 
						|
*/
 | 
						|
 | 
						|
void run_cmd(int res, int line, char *file, char *cmd, const char *algorithm)
 | 
						|
{
 | 
						|
   if (res != CRYPT_OK) {
 | 
						|
      fprintf(stderr, "%s (%d)%s%s\n%s:%d:%s\n",
 | 
						|
              error_to_string(res), res,
 | 
						|
              (algorithm ? " - " : ""), (algorithm ? algorithm : ""),
 | 
						|
              file, line, cmd);
 | 
						|
      if (res != CRYPT_NOP) {
 | 
						|
         exit(EXIT_FAILURE);
 | 
						|
      }
 | 
						|
   }
 | 
						|
}
 | 
						|
 | 
						|
void print_hex(const char* what, const void* v, const unsigned long l)
 | 
						|
{
 | 
						|
  const unsigned char* p = v;
 | 
						|
  unsigned long x, y = 0, z;
 | 
						|
  fprintf(stderr, "%s contents: \n", what);
 | 
						|
  for (x = 0; x < l; ) {
 | 
						|
      fprintf(stderr, "%02X ", p[x]);
 | 
						|
      if (!(++x % 16) || x == l) {
 | 
						|
         if((x % 16) != 0) {
 | 
						|
            z = 16 - (x % 16);
 | 
						|
            if(z >= 8)
 | 
						|
               fprintf(stderr, " ");
 | 
						|
            for (; z != 0; --z) {
 | 
						|
               fprintf(stderr, "   ");
 | 
						|
            }
 | 
						|
         }
 | 
						|
         fprintf(stderr, " | ");
 | 
						|
         for(; y < x; y++) {
 | 
						|
            if((y % 8) == 0)
 | 
						|
               fprintf(stderr, " ");
 | 
						|
            if(isgraph(p[y]))
 | 
						|
               fprintf(stderr, "%c", p[y]);
 | 
						|
            else
 | 
						|
               fprintf(stderr, ".");
 | 
						|
         }
 | 
						|
         fprintf(stderr, "\n");
 | 
						|
      }
 | 
						|
      else if((x % 8) == 0) {
 | 
						|
         fprintf(stderr, " ");
 | 
						|
      }
 | 
						|
  }
 | 
						|
}
 | 
						|
 | 
						|
prng_state yarrow_prng;
 | 
						|
 | 
						|
/* ref:         $Format:%D$ */
 | 
						|
/* git commit:  $Format:%H$ */
 | 
						|
/* commit time: $Format:%ai$ */
 |