diff options
author | Janne Blomqvist <jb@gcc.gnu.org> | 2012-03-25 08:48:49 +0300 |
---|---|---|
committer | Janne Blomqvist <jb@gcc.gnu.org> | 2012-03-25 08:48:49 +0300 |
commit | f4471acbe3a0e4aee9aa8144898c593ff4e7b595 (patch) | |
tree | 685cb6240f35fb0058480526772367ef510d1cba /libgfortran/runtime | |
parent | 0651865170b953c49b8acce8ad6de0143c00fc06 (diff) | |
download | gcc-f4471acbe3a0e4aee9aa8144898c593ff4e7b595.tar.gz |
Use calloc instead of malloc and memset.
2012-03-25 Janne Blomqvist <jb@gcc.gnu.org>
* runtime/memory.c (xcalloc): New function.
* libgfortran.h (xcalloc): New prototype.
* io/list_read.c (push_char): Use xcalloc instead of get_mem and
memset.
(l_push_char): Likewise.
* io/unit.c (insert_unit): Likewise.
(get_internal_unit): Likewise.
* io/unix.c (open_internal): Likewise.
(open_internal4): Likewise.
(fd_to_stream): Likewise.
From-SVN: r185773
Diffstat (limited to 'libgfortran/runtime')
-rw-r--r-- | libgfortran/runtime/memory.c | 19 |
1 files changed, 18 insertions, 1 deletions
diff --git a/libgfortran/runtime/memory.c b/libgfortran/runtime/memory.c index a26d9e59efa..044a115c1f5 100644 --- a/libgfortran/runtime/memory.c +++ b/libgfortran/runtime/memory.c @@ -1,5 +1,6 @@ /* Memory management routines. - Copyright 2002, 2005, 2006, 2007, 2009, 2010 Free Software Foundation, Inc. + Copyright 2002, 2005, 2006, 2007, 2009, 2010, 2012 + Free Software Foundation, Inc. Contributed by Paul Brook <paul@nowt.org> This file is part of the GNU Fortran runtime library (libgfortran). @@ -59,3 +60,19 @@ internal_malloc_size (size_t size) return get_mem (size); } + + +/* calloc wrapper that aborts on error. */ + +void * +xcalloc (size_t nmemb, size_t size) +{ + if (nmemb * size == 0) + nmemb = size = 1; + + void *p = calloc (nmemb, size); + if (!p) + os_error ("Allocating cleared memory failed"); + + return p; +} |