Mercurial > hg > easyhg-kdiff3
comparison kdiff3/src/gnudiff_xmalloc.cpp @ 66:efe33e938730
0.9.86
author | joachim99 |
---|---|
date | Thu, 16 Sep 2004 02:40:08 +0000 |
parents | 32d5cbf9db71 |
children | 8febbfb1148c |
comparison
equal
deleted
inserted
replaced
65:8ea11c8efeb5 | 66:efe33e938730 |
---|---|
56 void * | 56 void * |
57 GnuDiff::xmalloc (size_t n) | 57 GnuDiff::xmalloc (size_t n) |
58 { | 58 { |
59 void *p; | 59 void *p; |
60 | 60 |
61 p = malloc (n); | 61 p = malloc (n == 0 ? 1 : n); // There are systems where malloc returns 0 for n==0. |
62 if (p == 0) | 62 if (p == 0) |
63 xalloc_die (); | 63 xalloc_die (); |
64 return p; | 64 return p; |
65 } | 65 } |
66 | 66 |
68 with error checking. */ | 68 with error checking. */ |
69 | 69 |
70 void * | 70 void * |
71 GnuDiff::xrealloc (void *p, size_t n) | 71 GnuDiff::xrealloc (void *p, size_t n) |
72 { | 72 { |
73 p = realloc (p, n); | 73 p = realloc (p, n==0 ? 1 : n); |
74 if (p == 0) | 74 if (p == 0) |
75 xalloc_die (); | 75 xalloc_die (); |
76 return p; | 76 return p; |
77 } | 77 } |
78 | 78 |
79 /* Allocate memory for N elements of S bytes, with error checking. */ | |
80 | |
81 void * | |
82 GnuDiff::xcalloc (size_t n, size_t s) | |
83 { | |
84 void *p; | |
85 | |
86 p = calloc (n, s); | |
87 if (p == 0) | |
88 xalloc_die (); | |
89 return p; | |
90 } | |
91 | 79 |
92 /* Yield a new block of SIZE bytes, initialized to zero. */ | 80 /* Yield a new block of SIZE bytes, initialized to zero. */ |
93 | 81 |
94 void * | 82 void * |
95 GnuDiff::zalloc (size_t size) | 83 GnuDiff::zalloc (size_t size) |