The function prototype used for method functions (or caller-provided
callbacks) that merge two file specifications. They are passed a
DSO structure pointer (or null if they are to be used independantly of
a DSO object) and two file specifications to merge. They should
either return null (if there is an error condition) or a newly allocated
string containing the result of merging that the caller will need
to free with free() when done.
Here, merging means that bits and pieces are taken from each of the
file specifications and added together in whatever fashion that is
sensible for the DSO method in question. The only rule that really
applies is that if the two specification contain pieces of the same
type, the copy from the first string takes priority. One could see
it as the first specification is the one given by the user and the
second being a bunch of defaults to add on if they're missing in the
first.
The function prototype used for method functions (or caller-provided callbacks) that merge two file specifications. They are passed a DSO structure pointer (or null if they are to be used independantly of a DSO object) and two file specifications to merge. They should either return null (if there is an error condition) or a newly allocated string containing the result of merging that the caller will need to free with free() when done. Here, merging means that bits and pieces are taken from each of the file specifications and added together in whatever fashion that is sensible for the DSO method in question. The only rule that really applies is that if the two specification contain pieces of the same type, the copy from the first string takes priority. One could see it as the first specification is the one given by the user and the second being a bunch of defaults to add on if they're missing in the first.