blob: 2c2281c94e82f899d2a259639867c8343b8c57ad (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
|
/*
* ecgen, tool for generating Elliptic curve domain parameters
* Copyright (C) 2017 J08nY
*/
#include "memory.h"
#include <pari/pari.h>
void *alloc(void *(*fun)(size_t), size_t size) {
void *result = fun(size);
if (!result) {
perror("Couldn't alloc.");
exit(EXIT_FAILURE);
}
return result;
}
void *try_malloc(size_t size) { return alloc(pari_malloc, size); }
void *try_calloc(size_t size) { return alloc(pari_calloc, size); }
void *try_realloc(void *ptr, size_t size) {
void *result = pari_realloc(ptr, size);
if (!result) {
perror("Couldn't alloc.");
exit(EXIT_FAILURE);
}
return result;
}
|