Jeff King <peff@xxxxxxxx> writes: > extern struct alternate_object_database { > struct alternate_object_database *next; > + > char *name; > - char base[FLEX_ARRAY]; /* more */ > + char *scratch; > + > + char path[FLEX_ARRAY]; > } *alt_odb_list; It is not wrong per-se, but I am a bit surprised to see that the code keeps FLEX_ARRAY _and_ uses a separate malloc'ed area pointed at by the scratch pointer. Loss of "compare only up to the location 'name' points at" makes the users of the struct that want only the directory path certainly a lot simpler and easier to follow. Thanks.