Hamish wrote: > I am trying to add this as "g.region -n" now, some questions: > > 1) local_proto.h: what's next in this series: > #define PRINT_REG 0x01 > #define PRINT_SH 0x02 > #define PRINT_LL 0x04 > #define PRINT_EXTENT 0x08 > #define PRINT_CENTER 0x10 > #define PRINT_METERS 0x20 > #define PRINT_3D 0x40 > #define PRINT_MBBOX 0x80 > > #define PRINT_NANGLE 0x ???
#define PRINT_NANGLE 0x100 > 2) #include <projects.h> to get LP, FACTOR, and pj_factors() ? Yes. > 3) The compiler complains that arg 2 of pj_factors(, oproj.pj,) is of > an incompatible pointer type. If I make it *oproj.pj it doesn't complain > but the output fact.conv is always 0.00000. This is a bug in GRASS' gprojects.h. It uses projPJ* where it should use projPJ. projPJ is already a pointer: #if !defined(PROJECTS_H) ... typedef void *projPJ; ... #else ... typedef PJ *projPJ; ... #endif I've applied this in 7.0: --- include/gprojects.h (revision 33947) +++ include/gprojects.h (working copy) @@ -32,7 +32,7 @@ struct pj_info { - projPJ *pj; + projPJ pj; double meters; int zone; char proj[100]; It doesn't result in a warning in GRASS because PROJECTS_H isn't defined, so the void* version is used, and implicit casts to/from void* never generate a warning. Your code should be using oproj.pj, not *oproj.pj. -- Glynn Clements <[EMAIL PROTECTED]> _______________________________________________ grass-dev mailing list grass-dev@lists.osgeo.org http://lists.osgeo.org/mailman/listinfo/grass-dev