/* questo file contiene alcune procedure utilizzate nei vari programmi che 
 * verranno trattati durante il corso */

#include<stdio.h>
#include<stdlib.h>
#include"util.h"

/*************************************************************************/

void *Malloc(size_t size)
{
 void *genericp;
 if((genericp=malloc(size))==NULL)
  {
   perror("Malloc");
   exit(1);
  }
  return genericp;
}

/*************************************************************************/

void *Realloc(void *ptr, size_t size)
{
 void *genericp;
 if((genericp=realloc(ptr, size))==NULL)
  {
   perror("Realloc");
   exit(1);
  }
  return genericp;
}

/*************************************************************************/

FILE *Fopen(const char *nome, const char *modo)
{
FILE *tmp;

 if((tmp=fopen(nome, modo))==NULL)
  {
   fprintf(stderr, "Non riesco ad aprire il file %s in maniera %s\n",nome, modo);
   perror("Fopen");
   exit(1);
  }
return tmp;
}

/*************************************************************************/

void *Calloc(size_t n, size_t size)
{
 void *genericp;
 if((genericp=calloc(n,size))==NULL)
  {
   perror("Calloc");
   exit(1);
  }
  return genericp;
}