I don't know the right order to use malloc in my case.
Structures:
typedef struct buffer_char
{
size_t size;
char *p;
} buffer_char;
typedef struct buffer_buffer_char
{
size_t size;
buffer_char *p;
} buffer_buffer_char;
typedef struct LPWA_COMMAND
{
LPWA_COMMAND_TYPE type;
buffer_char text;
buffer_buffer_char writeargs;
buffer_buffer_char readargs;
} LPWA_COMMAND;
typedef struct buffer_LPWA_COMMAND
{
size_t size;
LPWA_COMMAND *p;
} buffer_LPWA_COMMAND;
And now I want to malloc in init(*buffer_LPWA_COMMAND):
buffer_LPWA_COMMAND test;
init(&test);
It is enough for me to know how to malloc buffer_buffer_char, but I wanted to share all of the code.
Would this be correct?:
void buffer_char_init(buffer_char *buf)
{
buf->p = (char*)malloc(sizeof(char));
buf->size = 0;
}
void buffer_buffer_char_init(buffer_buffer_char *buf)
{
buf->p = (buffer_char*)malloc(sizeof(buffer_char));
buffer_char_init(&buf->p[0]);
buf->size = 0;
}
Thank you!