
I have the following functions in C: OGRErr OGR_G_CreateFromWkb (unsigned char *, OGRSpatialReferenceH, OGRGeometryH *, int) OGRErr OGR_G_CreateFromWkt (char **, OGRSpatialReferenceH, OGRGeometryH *) void OGR_G_DestroyGeometry (OGRGeometryH) OGRGeometryH OGR_G_CreateGeometry (OGRwkbGeometryType) The normal sequence of calls is OGRGeometryH handle = OGR_G_CreateGeometry(SOME_TYPE); // do stuff OGR_G_DestroyGeometry(handle); OR OGR_G_CreateFromWkb(blob, ref, &handle, 0); // do stuff OGR_G_DestroyGeometry(handle); As you can see, in one case, I have to pass in a pointer to the returned handle, and not just the handle. How can I accomplish this feat using a single type? I had data OGRGeometryH type Geometry = Ptr OGRGeometryH but then can I declare that a function returns a Ptr (Geometry) ? -- I try to take things like a crow; war and chaos don't always ruin a picnic, they just mean you have to be careful what you swallow. -- Jessica Edwards