Groups | Search | Server Info | Keyboard shortcuts | Login | Register


Groups > comp.lang.c > #391241

Re: What is your opinion about init_malloc?

From Tim Rentsch <tr.17687@z991.linuxsc.com>
Newsgroups comp.lang.c
Subject Re: What is your opinion about init_malloc?
Date 2025-03-15 09:02 -0700
Organization A noiseless patient Spider
Message-ID <86tt7uqo2u.fsf@linuxsc.com> (permalink)
References <vr1e67$1fa1p$1@dont-email.me>

Show all headers | View raw


Thiago Adams <thiago.adams@gmail.com> writes:

> What is your opinion about init_malloc?
> One problem it solves it to initialise a const objects on heap.
>
> #include <stdlib.h>
> #include <string.h>
> #include <stdio.h>
>
> void * init_malloc(size_t size, void * src)
> {
>   void * p = malloc(size);
>   if (p) {
>      memcpy(p, src, size );
>   }
>   return p;
> }
>
> #define ALLOC(OBJ) ((typeof(OBJ)*) init_malloc(sizeof(OBJ), &(OBJ)))
>
> ////////// SAMPLE  //////////
>
> struct Mail {
>     const int id;
> };
>
> int main () {
>     struct Mail* p0 = ALLOC((struct Mail){.id= 1});
>
>     struct Mail* p1 = init_malloc(sizeof *p1, &(struct Mail){.id= 1});
>
>     auto         p2 = ALLOC((struct Mail){.id= 1});
>
> }

Some facility along these lines looks like it would be useful, but
in terms of what is shown here the implementation is ugly and the
interface is poorly chosen.  For starters the initializing function
should be for internal use only, so all client use is through some
higher-level macro interface.  Also the interface name ALLOC is a
terrible choice.

Back to comp.lang.c | Previous | NextPrevious in thread | Find similar


Thread

What is your opinion about init_malloc? Thiago Adams <thiago.adams@gmail.com> - 2025-03-14 11:24 -0300
  Re: What is your opinion about init_malloc? Bonita Montero <Bonita.Montero@gmail.com> - 2025-03-14 16:49 +0100
    Re: What is your opinion about init_malloc? wij <wyniijj5@gmail.com> - 2025-03-14 23:56 +0800
      Re: What is your opinion about init_malloc? Bonita Montero <Bonita.Montero@gmail.com> - 2025-03-14 17:13 +0100
        Re: What is your opinion about init_malloc? Thiago Adams <thiago.adams@gmail.com> - 2025-03-14 13:24 -0300
          Re: What is your opinion about init_malloc? Bonita Montero <Bonita.Montero@gmail.com> - 2025-03-14 17:29 +0100
        Re: What is your opinion about init_malloc? wij <wyniijj5@gmail.com> - 2025-03-15 00:31 +0800
          Re: What is your opinion about init_malloc? Richard Heathfield <rjh@cpax.org.uk> - 2025-03-14 16:50 +0000
          Re: What is your opinion about init_malloc? Bonita Montero <Bonita.Montero@gmail.com> - 2025-03-14 18:04 +0100
    Bonita (Was: What is your opinion about init_malloc?) gazelle@shell.xmission.com (Kenny McCormack) - 2025-03-15 12:05 +0000
  Re: What is your opinion about init_malloc? Kaz Kylheku <643-408-1753@kylheku.com> - 2025-03-14 20:06 +0000
    Re: What is your opinion about init_malloc? Thiago Adams <thiago.adams@gmail.com> - 2025-03-15 11:08 -0300
    Re: What is your opinion about init_malloc? Tim Rentsch <tr.17687@z991.linuxsc.com> - 2025-03-15 09:11 -0700
  Re: What is your opinion about init_malloc? Tim Rentsch <tr.17687@z991.linuxsc.com> - 2025-03-15 09:02 -0700

csiph-web