mirror of
https://sourceware.org/git/glibc.git
synced 2024-11-09 14:50:05 +00:00
2016-06-09 Paul Pluzhnikov <ppluzhnikov@gmail.com>
* test-skeleton.c (oom_error, xmalloc, xcalloc, xrealloc): New functions. (add_temp_file): Use them.
This commit is contained in:
parent
7cda82594a
commit
530bb2bf3b
@ -1,3 +1,9 @@
|
||||
2016-06-09 Paul Pluzhnikov <ppluzhnikov@gmail.com>
|
||||
|
||||
* test-skeleton.c (oom_error, xmalloc, xcalloc, xrealloc):
|
||||
New functions.
|
||||
(add_temp_file): Use them.
|
||||
|
||||
2016-06-09 Samuel Thibault <samuel.thibault@ens-lyon.org
|
||||
|
||||
* mach/mach/mach_traps.h (mach_print): Add syscall declaration.
|
||||
|
@ -70,6 +70,51 @@ static pid_t pid;
|
||||
/* Directory to place temporary files in. */
|
||||
static const char *test_dir;
|
||||
|
||||
static void
|
||||
oom_error (const char *fn, size_t size)
|
||||
{
|
||||
printf ("%s: unable to allocate %zu bytes: %m\n", fn, size);
|
||||
exit (1);
|
||||
}
|
||||
|
||||
/* Allocate N bytes of memory dynamically, with error checking. */
|
||||
static void *
|
||||
__attribute__ ((used))
|
||||
xmalloc (size_t n)
|
||||
{
|
||||
void *p;
|
||||
|
||||
p = malloc (n);
|
||||
if (p == NULL)
|
||||
oom_error ("malloc", n);
|
||||
return p;
|
||||
}
|
||||
|
||||
/* Allocate memory for N elements of S bytes, with error checking. */
|
||||
static void *
|
||||
__attribute__ ((used))
|
||||
xcalloc (size_t n, size_t s)
|
||||
{
|
||||
void *p;
|
||||
|
||||
p = calloc (n, s);
|
||||
if (p == NULL)
|
||||
oom_error ("calloc", n * s);
|
||||
return p;
|
||||
}
|
||||
|
||||
/* Change the size of an allocated block of memory P to N bytes,
|
||||
with error checking. */
|
||||
static void *
|
||||
__attribute__ ((used))
|
||||
xrealloc (void *p, size_t n)
|
||||
{
|
||||
p = realloc (p, n);
|
||||
if (p == NULL)
|
||||
oom_error ("realloc", n);
|
||||
return p;
|
||||
}
|
||||
|
||||
/* List of temporary files. */
|
||||
struct temp_name_list
|
||||
{
|
||||
@ -83,9 +128,9 @@ __attribute__ ((unused))
|
||||
add_temp_file (const char *name)
|
||||
{
|
||||
struct temp_name_list *newp
|
||||
= (struct temp_name_list *) calloc (sizeof (*newp), 1);
|
||||
= (struct temp_name_list *) xcalloc (sizeof (*newp), 1);
|
||||
char *newname = strdup (name);
|
||||
if (newp != NULL && newname != NULL)
|
||||
if (newname != NULL)
|
||||
{
|
||||
newp->name = newname;
|
||||
if (temp_name_list == NULL)
|
||||
@ -124,13 +169,8 @@ create_temp_file (const char *base, char **filename)
|
||||
char *fname;
|
||||
int fd;
|
||||
|
||||
fname = (char *) malloc (strlen (test_dir) + 1 + strlen (base)
|
||||
+ sizeof ("XXXXXX"));
|
||||
if (fname == NULL)
|
||||
{
|
||||
puts ("out of memory");
|
||||
return -1;
|
||||
}
|
||||
fname = (char *) xmalloc (strlen (test_dir) + 1 + strlen (base)
|
||||
+ sizeof ("XXXXXX"));
|
||||
strcpy (stpcpy (stpcpy (stpcpy (fname, test_dir), "/"), base), "XXXXXX");
|
||||
|
||||
fd = mkstemp (fname);
|
||||
|
Loading…
Reference in New Issue
Block a user