Say I have a struct defined somewhere deep in low-level code used all over the place in the most crazy and unknown ways:
struct T {
unsigned short name_len;
char d_name[LENGTH];
}
With accompanying functions that fill d_name with whatever needs to be put there, like
struct T* fill( somethingOrOther* X)
And I would like to extend the old struct+function to include a new variable:
struct T {
unsigned short name_len;
char d_name[LENGTH];
unsigned short type_len;
char d_type;
}
and the new version of the function would also fill the d_type variable with useful things.
Would this type of change break the API? Couldn't I just use the new T instead of the old T, and additionally access the new members?
Thanks.