Malloc / structures imbriquées
je suis en train de créer une trame SNMP
Voila, j'ai une structure de ce type.
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39
|
typedef struct
{
char *tag;
int longueur;
char *valeur;
}CODAGECHAR;
typedef struct
{
char *tag;
int longueur;
int valeur;
}CODAGEINT;
typedef struct
{
char *tag;
int longueur;
unsigned long *valeur;
}CODAGEADDR;
typedef struct
{
CODAGEINT *version;
CODAGECHAR *community;
CODAGEINT *typetrap;
CODAGECHAR *oid ;
CODAGEADDR *manaddr;
CODAGECHAR *spef;
CODAGECHAR *error;
CODAGECHAR *timeticks;
CODAGECHAR *date;
CODAGECHAR *type;
CODAGECHAR *code;
CODAGECHAR *par1;
}TRAPSENDER; |
Pour pouvoir la remplir, je dois faire une allocation malloc dans mon prog principal.
je fais donc :
Code:
1 2 3 4
|
TRAPSENDER tramesnmp;
tramesnmp = malloc (20000); |
Et quand je veux remplir ma structure, tout se crache,
Code:
1 2
|
tramesnmp->version->valeur = 0; |
Je comprend pas
si vous aviez une idée ou deux ça m'aiderait