Line data Source code
1 : /* no-libgcrypt.c - Replacement functions for libgcrypt.
2 : * Copyright (C) 2003 Free Software Foundation, Inc.
3 : *
4 : * This file is free software; as a special exception the author gives
5 : * unlimited permission to copy and/or distribute it, with or without
6 : * modifications, as long as this notice is preserved.
7 : *
8 : * This file is distributed in the hope that it will be useful, but
9 : * WITHOUT ANY WARRANTY, to the extent permitted by law; without even
10 : * the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
11 : * PURPOSE.
12 : */
13 :
14 : #include <config.h>
15 : #include <stdio.h>
16 : #include <stdlib.h>
17 : #include <string.h>
18 : #include <errno.h>
19 :
20 : #include "../common/util.h"
21 : #include "i18n.h"
22 :
23 :
24 : /* Replace libgcrypt's malloc functions which are used by
25 : ../common/libcommon.a . ../common/util.h defines macros to map them
26 : to xmalloc etc. */
27 : static void
28 0 : out_of_memory (void)
29 : {
30 0 : log_fatal (_("error allocating enough memory: %s\n"), strerror (errno));
31 : }
32 :
33 :
34 : void *
35 2 : gcry_malloc (size_t n)
36 : {
37 2 : return malloc (n);
38 : }
39 :
40 : void *
41 0 : gcry_malloc_secure (size_t n)
42 : {
43 0 : return malloc (n);
44 : }
45 :
46 : void *
47 2 : gcry_xmalloc (size_t n)
48 : {
49 2 : void *p = malloc (n);
50 2 : if (!p)
51 0 : out_of_memory ();
52 2 : return p;
53 : }
54 :
55 : char *
56 0 : gcry_strdup (const char *string)
57 : {
58 0 : char *p = malloc (strlen (string)+1);
59 0 : if (p)
60 0 : strcpy (p, string);
61 0 : return p;
62 : }
63 :
64 :
65 : void *
66 0 : gcry_realloc (void *a, size_t n)
67 : {
68 0 : return realloc (a, n);
69 : }
70 :
71 : void *
72 0 : gcry_xrealloc (void *a, size_t n)
73 : {
74 0 : void *p = realloc (a, n);
75 0 : if (!p)
76 0 : out_of_memory ();
77 0 : return p;
78 : }
79 :
80 :
81 :
82 : void *
83 6 : gcry_calloc (size_t n, size_t m)
84 : {
85 6 : return calloc (n, m);
86 : }
87 :
88 : void *
89 0 : gcry_xcalloc (size_t n, size_t m)
90 : {
91 0 : void *p = calloc (n, m);
92 0 : if (!p)
93 0 : out_of_memory ();
94 0 : return p;
95 : }
96 :
97 :
98 : char *
99 2 : gcry_xstrdup (const char *string)
100 : {
101 2 : void *p = malloc (strlen (string)+1);
102 2 : if (!p)
103 0 : out_of_memory ();
104 2 : strcpy( p, string );
105 2 : return p;
106 : }
107 :
108 : void
109 11 : gcry_free (void *a)
110 : {
111 11 : if (a)
112 9 : free (a);
113 11 : }
114 :
115 :
116 : /* We need this dummy because exechelp.c uses gcry_control to
117 : terminate the secure memeory. */
118 : gcry_error_t
119 0 : gcry_control (enum gcry_ctl_cmds cmd, ...)
120 : {
121 : (void)cmd;
122 0 : return 0;
123 : }
124 :
125 : void
126 0 : gcry_set_outofcore_handler (gcry_handler_no_mem_t h, void *opaque)
127 : {
128 : (void)h;
129 : (void)opaque;
130 0 : }
131 :
132 : void
133 0 : gcry_set_fatalerror_handler (gcry_handler_error_t fnc, void *opaque)
134 : {
135 : (void)fnc;
136 : (void)opaque;
137 0 : }
138 :
139 : void
140 0 : gcry_set_log_handler (gcry_handler_log_t f, void *opaque)
141 : {
142 : (void)f;
143 : (void)opaque;
144 0 : }
145 :
146 :
147 : void
148 0 : gcry_create_nonce (void *buffer, size_t length)
149 : {
150 : (void)buffer;
151 : (void)length;
152 :
153 0 : log_fatal ("unexpected call to gcry_create_nonce\n");
154 : }
155 :
156 :
157 : const char *
158 0 : gcry_cipher_algo_name (int algo)
159 : {
160 : (void)algo;
161 0 : return "?";
162 : }
|