All capitals by convention are definitions to values in c. That's why I renamed 
the structures to better names. That way people who like this convention -like 
me-as well as new programs can use the new types. They do not have to, the old 
names still work as definitions. I do not really see the issue there.

Simon Josefsson <[email protected]> wrote:

>Ivan Shmakov <[email protected]> writes:
>
>>>>>>> Simon Josefsson <[email protected]> writes:
>>>>>>> Nikos Mavrogiannopoulos <[email protected]> writes:
>>
>> […]
>>
>>  >> The problem is that we need to have source compatibility.
>>
>>  > We don't have that since we are removing some internal structs..
>>
>>      ?  The applications' source code isn't expected to refer to the
>>      internals.
>
>The structs were exported in libtasn1.h, for 3.0 we are removing them.
>So any code out there that relies on these structs will break due to
>source level incompatibility.  This will be rare (GnuTLS used it only in
>one place) and possible to fix (using the new asn1_read_node_value())
>though.  Changing the basic types without backwards compatibility hooks
>will break all applications though, so that is not an option -- my point
>was that instead of changing the basic types and adding backwards
>compatibility hooks, we could also live with the old names that are in
>the right namespace.  While asn1_node and asn1_data_node_st look nicer
>than ASN1_TYPE and ASN1_DATA_NODE I'm not sure changing them is worth
>the costs of having all applications out there change their code, even
>if ASN1_TYPE and ASN1_DATA_NODE will continue to work for some time.
>
>/Simon
>

Reply via email to