Re: realloc() - frequency, conditions, or experiences about relocation?

Liste des GroupesRevenir à l c 
Sujet : Re: realloc() - frequency, conditions, or experiences about relocation?
De : Keith.S.Thompson+u (at) *nospam* gmail.com (Keith Thompson)
Groupes : comp.lang.c
Date : 24. Jun 2024, 11:55:39
Autres entêtes
Organisation : None to speak of
Message-ID : <875xtyu0kk.fsf@nosuchdomain.example.com>
References : 1 2 3 4 5
User-Agent : Gnus/5.13 (Gnus v5.13) Emacs/27.2 (gnu/linux)
Lawrence D'Oliveiro <ldo@nz.invalid> writes:
On Fri, 21 Jun 2024 21:12:12 +0200, Bonita Montero wrote:
Usually you don't resize the block with a few bytes ...
>
The usual way I use realloc is to maintain separate counts of the number
of array elements I have allocated, and the number I am actually using. A
realloc call is only needed when the latter hits the former. Every time I
call realloc, I will extend by some minimum number of array elements (e.g.
128), roughly comparable to the sort of array size I typically end up
with.
>
And then when the structure is complete, I do a final realloc call to
shrink it down so the size is actually that used. Is it safe to assume
such a call will never fail? Hmm ...

It's not safe to assume that a shrinking realloc call will never fail.
It's possible that it will never fail in any existing implementation,
but the standard makes no such guarantee.

A (perhaps) plausible way it can fail is if allocations of different
sizes are allocated from different pools.  Trying to shrink a 1000-byte
object to 100 bytes might fail if the 100-byte pool has been exhausted.
On the other hand, realloc() could just return its argument in such a
case and continue treating the object as a 1000-byte allocation.
(The allocation functions don't have to keep track of how much memory
you asked for, only how much they actually allocated, which is >= what
you asked for.)

Arguably only a poor implementation would fail on a shrinking realloc(),
but the standard permits poor implementations.

Having said all that, if realloc fails (indicated by returning a null
pointer), you still have the original pointer to the object.

Something else that occurs to me: If a shrinking realloc() never fails
in practice, then any code you write to handle a failure won't be
tested.

--
Keith Thompson (The_Other_Keith) Keith.S.Thompson+u@gmail.com
void Void(void) { Void(); } /* The recursive call of the void */

Date Sujet#  Auteur
17 Jun 24 * realloc() - frequency, conditions, or experiences about relocation?95Janis Papanagnou
17 Jun 24 +- Re: realloc() - frequency, conditions, or experiences about relocation?1Chris M. Thomasson
17 Jun 24 +* Re: realloc() - frequency, conditions, or experiences about relocation?53Ben Bacarisse
17 Jun 24 i`* Re: realloc() - frequency, conditions, or experiences about relocation?52Malcolm McLean
17 Jun 24 i +* Re: realloc() - frequency, conditions, or experiences about relocation?50Ben Bacarisse
17 Jun 24 i i`* Re: realloc() - frequency, conditions, or experiences about relocation?49Malcolm McLean
17 Jun 24 i i +* Re: realloc() - frequency, conditions, or experiences about relocation?21Ben Bacarisse
17 Jun 24 i i i+* Re: realloc() - frequency, conditions, or experiences about relocation?17Anton Shepelev
18 Jun 24 i i ii`* Re: realloc() - frequency, conditions, or experiences about relocation?16Tim Rentsch
18 Jun 24 i i ii +* Re: realloc() - frequency, conditions, or experiences about relocation?8Malcolm McLean
18 Jun 24 i i ii i+* Re: realloc() - frequency, conditions, or experiences about relocation?5Malcolm McLean
29 Jun 24 i i ii ii`* Re: realloc() - frequency, conditions, or experiences about relocation?4Lawrence D'Oliveiro
2 Jul 24 i i ii ii `* Re: realloc() - frequency, conditions, or experiences about relocation?3Malcolm McLean
2 Jul 24 i i ii ii  +- Re: realloc() - frequency, conditions, or experiences about relocation?1Ben Bacarisse
4 Jul 24 i i ii ii  `- Re: realloc() - frequency, conditions, or experiences about relocation?1Lawrence D'Oliveiro
24 Jun 24 i i ii i`* Re: realloc() - frequency, conditions, or experiences about relocation?2Tim Rentsch
24 Jun 24 i i ii i `- Re: realloc() - frequency, conditions, or experiences about relocation?1David Brown
20 Jun 24 i i ii `* Indefinite pronouns [was:Re: realloc() - frequency, conditions, or experiences about relocation?]7Anton Shepelev
20 Jun 24 i i ii  +* Re: Indefinite pronouns3vallor
21 Jun 24 i i ii  i`* Re: Indefinite pronouns2David Brown
21 Jun 24 i i ii  i `- Re: Indefinite pronouns1Keith Thompson
20 Jun 24 i i ii  +* Re: Indefinite pronouns [was:Re: realloc() - frequency, conditions, or experiences about relocation?]2Kenny McCormack
20 Jun 24 i i ii  i`- Re: Indefinite pronouns [was: Re: <something technical>]1Janis Papanagnou
21 Jun 24 i i ii  `- Re: Indefinite pronouns [was:Re: realloc() - frequency, conditions, or experiences about relocation?]1Tim Rentsch
17 Jun 24 i i i+* Re: realloc() - frequency, conditions, or experiences about relocation?2Richard Harnden
17 Jun 24 i i ii`- Re: realloc() - frequency, conditions, or experiences about relocation?1Chris M. Thomasson
17 Jun 24 i i i`- Re: realloc() - frequency, conditions, or experiences about relocation?1Malcolm McLean
17 Jun 24 i i +* Re: realloc() - frequency, conditions, or experiences about relocation?23Anton Shepelev
18 Jun 24 i i i+- Re: realloc() - frequency, conditions, or experiences about relocation?1David Jones
19 Jun 24 i i i+* Re: realloc() - frequency, conditions, or experiences about relocation?9David Duffy
19 Jun 24 i i ii+* Re: realloc() - frequency, conditions, or experiences about relocation?7Malcolm McLean
19 Jun 24 i i iii+* Re: realloc() - frequency, conditions, or experiences about relocation?4Ben Bacarisse
19 Jun 24 i i iiii`* Re: realloc() - frequency, conditions, or experiences about relocation?3David Brown
19 Jun 24 i i iiii `* Re: realloc() - frequency, conditions, or experiences about relocation?2Ben Bacarisse
20 Jun 24 i i iiii  `- Re: realloc() - frequency, conditions, or experiences about relocation?1David Brown
20 Jun 24 i i iii`* Re: realloc() - frequency, conditions, or experiences about relocation?2Anton Shepelev
8 Jul 24 i i iii `- Re: realloc() - frequency, conditions, or experiences about relocation?1Anton Shepelev
19 Jun 24 i i ii`- Re: realloc() - frequency, conditions, or experiences about relocation?1Anton Shepelev
2 Jul 24 i i i`* Re: realloc() - frequency, conditions, or experiences about relocation?12Rich Ulrich
2 Jul 24 i i i +* Re: realloc() - frequency, conditions, or experiences about relocation?5Keith Thompson
2 Jul 24 i i i i`* Re: realloc() - frequency, conditions, or experiences about relocation?4Rich Ulrich
8 Jul 24 i i i i `* Re: realloc() - frequency, conditions, or experiences about relocation?3Anton Shepelev
22 Jul 24 i i i i  `* Re: realloc() - frequency, conditions, or experiences about relocation?2Rich Ulrich
23 Jul 24 i i i i   `- Re: realloc() - frequency, conditions, or experiences about relocation?1Anton Shepelev
2 Jul 24 i i i `* Re: realloc() - frequency, conditions, or experiences about relocation?6Paul
2 Jul 24 i i i  `* Re: realloc() - frequency, conditions, or experiences about relocation?5Rich Ulrich
2 Jul 24 i i i   `* Re: realloc() - frequency, conditions, or experiences about relocation?4Rich Ulrich
2 Jul 24 i i i    `* Re: realloc() - frequency, conditions, or experiences about relocation?3Paul
2 Jul 24 i i i     +- Re: realloc() - frequency, conditions, or experiences about relocation?1James Kuyper
2 Jul 24 i i i     `- Re: realloc() - frequency, conditions, or experiences about relocation?1James Kuyper
17 Jun 24 i i +- Re: realloc() - frequency, conditions, or experiences about relocation?1Chris M. Thomasson
18 Jun 24 i i `* Re: realloc() - frequency, conditions, or experiences about relocation?3Keith Thompson
18 Jun 24 i i  +- Re: realloc() - frequency, conditions, or experiences about relocation?1Malcolm McLean
18 Jun 24 i i  `- Re: realloc() - frequency, conditions, or experiences about relocation?1Bonita Montero
17 Jun 24 i `- Re: realloc() - frequency, conditions, or experiences about relocation?1David Brown
17 Jun 24 +* Re: realloc() - frequency, conditions, or experiences about relocation?28Bonita Montero
20 Jun 24 i`* Re: realloc() - frequency, conditions, or experiences about relocation?27Vir Campestris
21 Jun 24 i `* Re: realloc() - frequency, conditions, or experiences about relocation?26Bonita Montero
24 Jun 24 i  `* Re: realloc() - frequency, conditions, or experiences about relocation?25Lawrence D'Oliveiro
24 Jun 24 i   +* Re: realloc() - frequency, conditions, or experiences about relocation?21Keith Thompson
24 Jun 24 i   i+* Re: realloc() - frequency, conditions, or experiences about relocation?11David Brown
24 Jun 24 i   ii+* Re: realloc() - frequency, conditions, or experiences about relocation?7Malcolm McLean
24 Jun 24 i   iii+* Re: realloc() - frequency, conditions, or experiences about relocation?3Keith Thompson
25 Jun 24 i   iiii+- Re: realloc() - frequency, conditions, or experiences about relocation?1Malcolm McLean
25 Jun 24 i   iiii`- Re: realloc() - frequency, conditions, or experiences about relocation?1Chris M. Thomasson
25 Jun 24 i   iii`* Re: realloc() - frequency, conditions, or experiences about relocation?3Lawrence D'Oliveiro
25 Jun 24 i   iii `* Re: realloc() - frequency, conditions, or experiences about relocation?2Bonita Montero
26 Jun 24 i   iii  `- Re: realloc() - frequency, conditions, or experiences about relocation?1Lawrence D'Oliveiro
24 Jun 24 i   ii+* Re: realloc() - frequency, conditions, or experiences about relocation?2Chris M. Thomasson
24 Jun 24 i   iii`- Re: realloc() - frequency, conditions, or experiences about relocation?1Bonita Montero
25 Jun 24 i   ii`- Re: realloc() - frequency, conditions, or experiences about relocation?1Lawrence D'Oliveiro
24 Jun 24 i   i+- Re: realloc() - frequency, conditions, or experiences about relocation?1Bonita Montero
25 Jun 24 i   i`* Re: realloc() - frequency, conditions, or experiences about relocation?8Lawrence D'Oliveiro
25 Jun 24 i   i +* Re: realloc() - frequency, conditions, or experiences about relocation?6Keith Thompson
25 Jun 24 i   i i+- Re: realloc() - frequency, conditions, or experiences about relocation?1Richard Damon
28 Jun 24 i   i i+* Re: realloc() - frequency, conditions, or experiences about relocation?2Phil Carmody
28 Jun 24 i   i ii`- Re: realloc() - frequency, conditions, or experiences about relocation?1Keith Thompson
28 Jun 24 i   i i`* Re: realloc() - frequency, conditions, or experiences about relocation?2James Kuyper
28 Jun 24 i   i i `- Re: realloc() - frequency, conditions, or experiences about relocation?1Keith Thompson
28 Jun 24 i   i `- Re: realloc() - frequency, conditions, or experiences about relocation?1James Kuyper
24 Jun 24 i   `* Re: realloc() - frequency, conditions, or experiences about relocation?3Bonita Montero
24 Jun 24 i    `* Down the hall, past the water cooler, third door on the left... (Was: realloc() - frequency, conditions, or experiences about) relocation?2Kenny McCormack
24 Jun 24 i     `- Re: Down the hall, past the water cooler, third door on the left... (Was: realloc() - frequency, conditions, or experiences about) relocation?1Bonita Montero
17 Jun 24 +* Re: realloc() - frequency, conditions, or experiences about relocation?2David Brown
17 Jun 24 i`- Re: realloc() - frequency, conditions, or experiences about relocation?1Bonita Montero
17 Jun 24 +- Re: realloc() - frequency, conditions, or experiences about relocation?1Janis Papanagnou
17 Jun 24 +- Re: realloc() - frequency, conditions, or experiences about relocation?1Michael S
18 Jun 24 +- Re: realloc() - frequency, conditions, or experiences about relocation?1Rosario19
25 Jun 24 `* Re: realloc() - frequency, conditions, or experiences about relocation?7Bonita Montero
25 Jun 24  +* Re: realloc() - frequency, conditions, or experiences about relocation?4Vir Campestris
25 Jun 24  i`* Re: realloc() - frequency, conditions, or experiences about relocation?3Bonita Montero
26 Jun 24  i `* Re: realloc() - frequency, conditions, or experiences about relocation?2Vir Campestris
26 Jun 24  i  `- Re: realloc() - frequency, conditions, or experiences about relocation?1Bonita Montero
25 Jun 24  `* Re: realloc() - frequency, conditions, or experiences about relocation?2DFS
25 Jun 24   `- Re: realloc() - frequency, conditions, or experiences about relocation?1Bonita Montero

Haut de la page

Les messages affichés proviennent d'usenet.

NewsPortal