On 10/05/2013 12:15 AM, John Scipione wrote:
On Fri, Oct 4, 2013 at 5:41 PM, Ingo Weinhold <ingo_weinhold@xxxxxx> wrote:I removed the B_COMMON_*DIRECTORY constants from the public API, so any code using them will now fail to compile and thus force a review of the code. This is a good thing, since support for the non-packaged directories needs to be added as well.whoa whoa whoa, those definitions were in BeOS R5 though, right? At least they appear here: http://www.haiku-os.org/legacy-docs/bebook/BDirectory.html#Constants_directory_which so if you remove them, won't you break binaries that reference them?
Well, as I tried to explain, code that iterated e.g. through all B_*_FONTS_DIRECTORY directories to find fonts will continue to work just fine -- though it will ignore the */non-packaged/data/fonts directories, but that cannot be helped. Code that explicitly expected to find something in a B_COMMON_*DIRECTORY will no longer find it there. Since there was no /boot/common in BeOS, those constants either resolved to an invalid directory or in some (all?) cases to /boot/home/config/....
Come to think of it, it is probably a good idea to introduce a new symbol version for find_directory(), so we have the option to do some compatibility handling, if necessary.
CU, Ingo