You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
From my understanding: For any element which is marked as "choice" in xsd, the generated c structure should look like: typedef struct mainType { union { typeA elementA; typeB elementB; ... }; int elementA_isUsed:1; int elementB_isUsed:1; ... };
currently all elements are added to the structure directly instead.
This is very inefficient in memory usage and can easily lead to en/decoding errors.
To Reproduce
This happens for all din, iso-2 and -20 types.
In multiple structures, e.g. in ParameterSetType -> ParameterType, where the parameter could be one of type per standard:
bool, byte, short, int, physical, or string, but never multiple at once.
Anything else?
The general functionality of union seems to be there.
The PGPData a union is generated, but in completely wrong way which overwrites itself.
The text was updated successfully, but these errors were encountered:
PGPData is not really used in a valid ISO15118 or DIN 70121 (see here: #56 (comment))
Though I think this is a case for excluding its generation altogether, because this is a recurring report, or generate a comment explaining the situation.
I think it's trivial to fix, but also trivial to bump something more important over in the process.
Describe the bug
From my understanding: For any element which is marked as "choice" in xsd, the generated c structure should look like:
typedef struct mainType { union { typeA elementA; typeB elementB; ... }; int elementA_isUsed:1; int elementB_isUsed:1; ... };
currently all elements are added to the structure directly instead.
This is very inefficient in memory usage and can easily lead to en/decoding errors.
To Reproduce
This happens for all din, iso-2 and -20 types.
In multiple structures, e.g. in ParameterSetType -> ParameterType, where the parameter could be one of type per standard:
bool, byte, short, int, physical, or string, but never multiple at once.
Anything else?
The general functionality of union seems to be there.
The PGPData a union is generated, but in completely wrong way which overwrites itself.
The text was updated successfully, but these errors were encountered: