This archive contains answers to questions sent to Unidata support through mid-2025. Note that the archive is no longer being updated. We provide the archive for reference; many of the answers presented here remain technically correct, even if somewhat outdated. For the most up-to-date information on the use of NSF Unidata software and data services, please consult the Software Documentation first.
Steve, >Date: Tue, 25 Feb 97 13:19:33 -0700 >From: Steve Penton <address@hidden> >Organization: . >To: Steve Emmerson <address@hidden> >Subject: Re: 970225: NETCDF2_4R2 and R3 OSF problems >Keywords: 199702200132.SAA04501 In the above message, you wrote: > Ok, I think I'm getting warmer, so if I need to call ncvargetg I > can call it as (all the data's are 32-bit long arrays): > > if(ncvargetg( (int) cdfid, (int) varid, (nclong*) start_data, > (nclong*) count_data,(nclong*) stride_data,(nclong*) NULL, > (void*)value_data) == -1L) > error_putget(cdfid,varid); > > correct ? (then nclong* does the casting) Incorrect. Casts on the following argument: start_data, count_data, stride_data, imap_data (which you don't have) *must* be unnecessary. All of these arguments *must* be of type `long*' (NOTE: not `nclong*'). The question I have for you is "What is the type of the `stride' argument in your code when you call ncvargetg()?" > Is there an NCINT type for the variable/file ids, or my use of (int) the way > to go? There is no NCINT type. Such a cast would be completely unnecessary when the prototype for the function is in scope. Does your code include "netcdf.h"? -------- Steve Emmerson <address@hidden>