backport G_is_c_null_value() to devbr6
|Reported by:||hamish||Owned by:|
I'm a bit overwhelmed at work right now, and Markus is busy too, so filing this as a task for 6.4 so that it doesn't get forgotten, & 'll get to it when I do.
However, I suggest syncing G_is_c_null_value() (and possibly other parts of null_val.c) to 7.0. Doing this with "svn merge" isn't practical as some of the changes were part of large-scale clean-ups (r34445, r34484). The original code is over-complex as a result of trying to handle arbitrary sizes for CELL, FCELL and DCELL. But I suspect that a lot more than just null handling would break if those types weren't 4, 4 and 8 bytes respectively. If you want to sync the whole file, you'll also need to sync the prototypes in gisdefs.h, as some gratuitous "int" returns were changed to "void". I don't think that anything actually checked the return types, so it shouldn't be necessary to change anything else (unlike e.g. G_get_window(), where many modules checked the return value even though it would always be 1).