mirror of
git://git.gnupg.org/gnupg.git
synced 2024-12-22 10:19:57 +01:00
common: Add xreallocarray function.
* common/miscellaneous.c (xreallocarray): New func. * common/util.h (xtryreallocarray): New macro. -- Very useful to match calloc behaviour. Signed-off-by: Werner Koch <wk@gnupg.org>
This commit is contained in:
parent
178b3772ff
commit
6fa1808cb7
@ -117,6 +117,17 @@ xoutofcore (void)
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/* Wrapper around gpgrt_reallocarray. */
|
||||||
|
void *
|
||||||
|
xreallocarray (void *a, size_t oldnmemb, size_t nmemb, size_t size)
|
||||||
|
{
|
||||||
|
void *p = gpgrt_reallocarray (a, oldnmemb, nmemb, size);
|
||||||
|
if (!p)
|
||||||
|
xoutofcore ();
|
||||||
|
return p;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
/* A wrapper around gcry_cipher_algo_name to return the string
|
/* A wrapper around gcry_cipher_algo_name to return the string
|
||||||
"AES-128" instead of "AES". Given that we have an alias in
|
"AES-128" instead of "AES". Given that we have an alias in
|
||||||
libgcrypt for it, it does not harm to too much to return this other
|
libgcrypt for it, it does not harm to too much to return this other
|
||||||
|
@ -99,6 +99,7 @@ typedef char **rl_completion_func_t (const char *, int, int);
|
|||||||
#define xtrycalloc(a,b) gcry_calloc ((a),(b))
|
#define xtrycalloc(a,b) gcry_calloc ((a),(b))
|
||||||
#define xtrycalloc_secure(a,b) gcry_calloc_secure ((a),(b))
|
#define xtrycalloc_secure(a,b) gcry_calloc_secure ((a),(b))
|
||||||
#define xtryrealloc(a,b) gcry_realloc ((a),(b))
|
#define xtryrealloc(a,b) gcry_realloc ((a),(b))
|
||||||
|
#define xtryreallocarray(a,b,c,d) gpgrt_reallocarray ((a),(b),(c),(d))
|
||||||
#define xtrystrdup(a) gcry_strdup ((a))
|
#define xtrystrdup(a) gcry_strdup ((a))
|
||||||
#define xfree(a) gcry_free ((a))
|
#define xfree(a) gcry_free ((a))
|
||||||
#define xfree_fnc gcry_free
|
#define xfree_fnc gcry_free
|
||||||
@ -109,6 +110,7 @@ typedef char **rl_completion_func_t (const char *, int, int);
|
|||||||
#define xcalloc_secure(a,b) gcry_xcalloc_secure ((a),(b))
|
#define xcalloc_secure(a,b) gcry_xcalloc_secure ((a),(b))
|
||||||
#define xrealloc(a,b) gcry_xrealloc ((a),(b))
|
#define xrealloc(a,b) gcry_xrealloc ((a),(b))
|
||||||
#define xstrdup(a) gcry_xstrdup ((a))
|
#define xstrdup(a) gcry_xstrdup ((a))
|
||||||
|
/* See also the xreallocarray prototype below. */
|
||||||
|
|
||||||
/* For compatibility with gpg 1.4 we also define these: */
|
/* For compatibility with gpg 1.4 we also define these: */
|
||||||
#define xmalloc_clear(a) gcry_xcalloc (1, (a))
|
#define xmalloc_clear(a) gcry_xcalloc (1, (a))
|
||||||
@ -306,6 +308,12 @@ void setup_libgcrypt_logging (void);
|
|||||||
/* Print an out of core message and die. */
|
/* Print an out of core message and die. */
|
||||||
void xoutofcore (void);
|
void xoutofcore (void);
|
||||||
|
|
||||||
|
/* Wrapper aroung gpgrt_reallocarray. Uses the gpgrt alloc function
|
||||||
|
* which are redirect to the Libgcrypt versions via
|
||||||
|
* init_common_subsystems. Thus they can be used interchangeable with
|
||||||
|
* the other alloc functions. */
|
||||||
|
void *xreallocarray (void *a, size_t oldnmemb, size_t nmemb, size_t size);
|
||||||
|
|
||||||
/* Same as estream_asprintf but die on memory failure. */
|
/* Same as estream_asprintf but die on memory failure. */
|
||||||
char *xasprintf (const char *fmt, ...) GPGRT_ATTR_PRINTF(1,2);
|
char *xasprintf (const char *fmt, ...) GPGRT_ATTR_PRINTF(1,2);
|
||||||
/* This is now an alias to estream_asprintf. */
|
/* This is now an alias to estream_asprintf. */
|
||||||
|
Loading…
x
Reference in New Issue
Block a user