On 10/18/09 5:14 AM, Ed Hartnett said:
>Now would be a great time for our dedicated user community to download
>the daily snapshot, let us know that it builds cleanly
Ed,
I only really use NetCDF as a dependency of another library. So my
testing has been limited to compilation issues. Many that I reported
previously have been fixed (some not). Here's what I still see building
on Mac OS X 10.6 with clang:
export CC=/Developer/usr/bin/clang
export CXX=/Developer/usr/bin/llvm-gcc-4.2
export CFLAGS="-Wall -Wextra -arch x86_64"
export CXXFLAGS="-Wall -Wextra -arch x86_64"
(1) Easy to fix:
libtool: compile: /Developer/usr/bin/clang -DHAVE_CONFIG_H -I. -I.. -
I../fortran -arch x86_64 -MT
utf8proc.lo -MD -MP -MF .deps/utf8proc.Tpo -c utf8proc.c -o utf8proc.o
warning: implicitly declaring C library function 'strlen' with type
'unsigned long (char const *)'
note: please include the header <string.h> or explicitly provide a
declaration for 'strlen'
(2) Lots of these:
cdfdata.c:321:2: warning: expression result unused [-Wunused-value]
bbClear(memory);
^~~~~~~~~~~~~~~
./bytebuffer.h:61:42: note: instantiated from:
#define bbClear(bb) ((bb)?(bb)->length=0:0U)
^~
I've searched everywhere, and the result of bbClear is never used, so
the macro could be changed to avoid the warning, for example:
#define bbClear(bb) (void)((bb)?(bb)->length=0:0U)
(3) Trickier:
ncvalues.cpp: In member function 'virtual char NcValues_ncbyte::as_char
(long int) const':
ncvalues.cpp:81: warning: comparison is always false due to limited
range of data type
(4)
Not a compilation issue, but I couldn't hep but notice that the source
is riddled with the use of sprintf(). This function really should never
be used, see for example:
<http://developer.apple.com/mac/library/documentation/Security/
Conceptual/SecureCodingGuide/Articles/BufferOverflows.html#//apple_ref/
doc/uid/TP40002577>
Random example:
int field_exist(const char* file, const char *name)
{
char msg[512];
...
sprintf(msg, "field_exist: in opening file %s", file);
If the file's path is longer than ~500 chars? :(
hth,
--
____________________________________________________________
Sean McBride, B. Eng sean@xxxxxxxxxxxxxxxxxx
Rogue Research www.rogue-research.com
Mac Software Developer Montréal, Québec, Canada